lkml.org 
[lkml]   [2022]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.18 0877/1095] swiotlb: fail map correctly with failed io_tlb_default_mem
    Date
    From: Robin Murphy <robin.murphy@arm.com>

    [ Upstream commit c51ba246cb172c9e947dc6fb8868a1eaf0b2a913 ]

    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>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    kernel/dma/swiotlb.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
    index 73a41cec9e38..90e5f5c92fdc 100644
    --- a/kernel/dma/swiotlb.c
    +++ b/kernel/dma/swiotlb.c
    @@ -588,7 +588,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))
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-08-16 00:44    [W:4.033 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site