diff options
author | Robin Murphy <robin.murphy@arm.com> | 2022-07-12 08:46:45 +0200 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2022-07-12 08:47:31 +0200 |
commit | c51ba246cb172c9e947dc6fb8868a1eaf0b2a913 (patch) | |
tree | 7481c5b7cb344f9f23fff070c8a02d9e58b9f2e3 /kernel/dma | |
parent | ARM/dma-mapping: merge IOMMU ops (diff) | |
download | linux-c51ba246cb172c9e947dc6fb8868a1eaf0b2a913.tar.xz linux-c51ba246cb172c9e947dc6fb8868a1eaf0b2a913.zip |
swiotlb: fail map correctly with failed io_tlb_default_mem
In the failure case of trying to use a buffer which we'd previously
failed to allocate, the "!mem" condition is no longer sufficient since
io_tlb_default_mem became static and assigned by default. Update the
condition to work as intended per the rest of that conversion.
Fixes: 463e862ac63e ("swiotlb: Convert io_default_tlb_mem to static allocation")
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'kernel/dma')
-rw-r--r-- | kernel/dma/swiotlb.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c index 1758b724c7a8..909b43445574 100644 --- a/kernel/dma/swiotlb.c +++ b/kernel/dma/swiotlb.c @@ -584,7 +584,7 @@ phys_addr_t swiotlb_tbl_map_single(struct device *dev, phys_addr_t orig_addr, int index; phys_addr_t tlb_addr; - if (!mem) + if (!mem || !mem->nslabs) panic("Can not allocate SWIOTLB buffer earlier and can't now provide you with the DMA bounce buffer"); if (cc_platform_has(CC_ATTR_MEM_ENCRYPT)) |