mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-09-22 09:34:56 +02:00
dma-mapping: direct: fix missing mapping for THRU_HOST_BRIDGE segments
[ Upstream commit560000d619] In dma_direct_map_sg(), the case PCI_P2PDMA_MAP_THRU_HOST_BRIDGE incorrectly used 'break' instead of falling through to MAP_NONE. As a result, segments traversing the host bridge skipped the required dma_direct_map_phys() call entirely, leaving sg->dma_address uninitialized and leading to DMA failures. Fix this by using 'fallthrough;'. Fixes:a25e7962db("PCI/P2PDMA: Refactor the p2pdma mapping helpers") Reviewed-by: Logan Gunthorpe <logang@deltatee.com> Signed-off-by: Li RongQing <lirongqing@baidu.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Link: https://lore.kernel.org/r/20260603013723.2439-1-lirongqing@baidu.com Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
8d9a79fbf5
commit
4ee4d628c4
+1
-1
@@ -469,7 +469,7 @@ int dma_direct_map_sg(struct device *dev, struct scatterlist *sgl, int nents,
|
||||
* must be mapped with CPU physical address and not PCI
|
||||
* bus addresses.
|
||||
*/
|
||||
break;
|
||||
fallthrough;
|
||||
case PCI_P2PDMA_MAP_NONE:
|
||||
sg->dma_address = dma_direct_map_phys(dev, sg_phys(sg),
|
||||
sg->length, dir, attrs);
|
||||
|
||||
Reference in New Issue
Block a user