From: Stephen Rothwell Date: Mon, 24 Feb 2025 22:46:19 +0000 (+1100) Subject: Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git X-Git-Tag: next-20250225~175 X-Git-Url: https://gentwo.org/gitweb/?a=commitdiff_plain;h=2b9c81dc1b9c7afbdac7458a80292c983a69f221;p=linux%2F.git Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git # Conflicts: # drivers/dma/tegra210-adma.c --- 2b9c81dc1b9c7afbdac7458a80292c983a69f221 diff --cc drivers/dma/tegra210-adma.c index 5c6a5b358987,801740ad8e0d..4c396b8eaf0f --- a/drivers/dma/tegra210-adma.c +++ b/drivers/dma/tegra210-adma.c @@@ -914,21 -920,16 +919,21 @@@ static int tegra_adma_probe(struct plat res_base = platform_get_resource_byname(pdev, IORESOURCE_MEM, "global"); if (res_base) { - if (WARN_ON(res_page->start <= res_base->start)) - return -EINVAL; + resource_size_t page_offset, page_no; + unsigned int ch_base_offset; + if (res_page->start < res_base->start) + return -EINVAL; page_offset = res_page->start - res_base->start; - page_no = div_u64(page_offset, cdata->ch_base_offset); + ch_base_offset = cdata->ch_base_offset; + if (!ch_base_offset) + return -EINVAL; - if (WARN_ON(page_no == 0 || page_no > cdata->max_page)) + page_no = div_u64(page_offset, ch_base_offset); - if (!page_no || page_no > INT_MAX) ++ if (!page_no || page_no > cdata->max_page) return -EINVAL; - tdma->ch_page_no = lower_32_bits(page_no) - 1; + tdma->ch_page_no = page_no - 1; tdma->base_addr = devm_ioremap_resource(&pdev->dev, res_base); if (IS_ERR(tdma->base_addr)) return PTR_ERR(tdma->base_addr);