]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
sparc: Fix page alignment in dma mapping
authorStian Halseth <stian@itx.no>
Wed, 18 Feb 2026 12:00:24 +0000 (13:00 +0100)
committerSasha Levin <sashal@kernel.org>
Wed, 4 Mar 2026 12:20:53 +0000 (07:20 -0500)
commitff1cfa62226d592a7b0707fc3c8f60db63e7975c
treea3f26cc88777b683eef358d7397084e0b7b9d725
parent2214692fe2c4ad4e33ca78d593efdb0ddfe38b0a
sparc: Fix page alignment in dma mapping

[ Upstream commit d5b5e8149af0f5efed58653cbebf1cb3258ce49a ]

'phys' may include an offset within the page, while previously used
'base_paddr' was already page-aligned. This caused incorrect DMA mapping
in dma_4u_map_phys and dma_4v_map_phys.

Fix both functions by masking 'phys' with IO_PAGE_MASK, covering both
generic SPARC code and sun4v.

Fixes: 38c0d0ebf520 ("sparc: Use physical address DMA mapping")
Reported-by: Stian Halseth <stian@itx.no>
Closes: https://github.com/sparclinux/issues/issues/75
Suggested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Stian Halseth <stian@itx.no>
Tested-by: Nathaniel Roach <nroach44@nroach44.id.au>
Tested-by: Han Gao <gaohan@iscas.ac.cn> # on SPARC Enterprise T5220
[mszyprow: adjusted commit description a bit]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20260218120056.3366-2-stian@itx.no
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/sparc/kernel/iommu.c
arch/sparc/kernel/pci_sun4v.c