swiotlb: Group identical cleanup in swiotlb_cleanup()
authorFlorian Fainelli <f.fainelli@gmail.com>
Tue, 11 Jun 2019 17:58:24 +0000 (10:58 -0700)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Tue, 11 Jun 2019 18:36:33 +0000 (14:36 -0400)
Avoid repeating the zeroing of global swiotlb variables in two locations
and introduce swiotlb_cleanup() to do that.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
kernel/dma/swiotlb.c

index 38d57218809c17531f2c963652c401c1baadd021..20f414f713e5c31a87a3b195dd2a66c1dc1c7828 100644 (file)
@@ -309,6 +309,14 @@ swiotlb_late_init_with_default_size(size_t default_size)
        return rc;
 }
 
+static void swiotlb_cleanup(void)
+{
+       io_tlb_end = 0;
+       io_tlb_start = 0;
+       io_tlb_nslabs = 0;
+       max_segment = 0;
+}
+
 int
 swiotlb_late_init_with_tbl(char *tlb, unsigned long nslabs)
 {
@@ -359,10 +367,7 @@ cleanup4:
                                                         sizeof(int)));
        io_tlb_list = NULL;
 cleanup3:
-       io_tlb_end = 0;
-       io_tlb_start = 0;
-       io_tlb_nslabs = 0;
-       max_segment = 0;
+       swiotlb_cleanup();
        return -ENOMEM;
 }
 
@@ -386,10 +391,7 @@ void __init swiotlb_exit(void)
                memblock_free_late(io_tlb_start,
                                   PAGE_ALIGN(io_tlb_nslabs << IO_TLB_SHIFT));
        }
-       io_tlb_start = 0;
-       io_tlb_end = 0;
-       io_tlb_nslabs = 0;
-       max_segment = 0;
+       swiotlb_cleanup();
 }
 
 /*