]> git.itanic.dy.fi Git - linux-stable/commitdiff
mmc: bcm2835: Replace kmap_atomic() with kmap_local_page()
authorAdrian Hunter <adrian.hunter@intel.com>
Wed, 5 Oct 2022 10:19:43 +0000 (13:19 +0300)
committerUlf Hansson <ulf.hansson@linaro.org>
Wed, 7 Dec 2022 12:22:32 +0000 (13:22 +0100)
kmap_local_page() is equivalent to kmap_atomic() except that it does not
disable page faults or preemption. Where possible kmap_local_page() is
preferred to kmap_atomic() - refer kernel highmem documentation.

In this case, there is no need to disable page faults or preemption, so
replace kmap_atomic() with kmap_local_page(), and, correspondingly,
kunmap_atomic() with kunmap_local().

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/20221005101951.3165-7-adrian.hunter@intel.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/bcm2835.c

index 440773e3ba55f2c7b2a1e3ef8f8a1ee9db865561..8648f7e63ca1a6554ea40071c244778f1d9fb8de 100644 (file)
@@ -1070,7 +1070,7 @@ static void bcm2835_dma_complete_work(struct work_struct *work)
                        host->drain_page += host->drain_offset >> PAGE_SHIFT;
                        host->drain_offset &= ~PAGE_MASK;
                }
-               page = kmap_atomic(host->drain_page);
+               page = kmap_local_page(host->drain_page);
                buf = page + host->drain_offset;
 
                while (host->drain_words) {
@@ -1081,7 +1081,7 @@ static void bcm2835_dma_complete_work(struct work_struct *work)
                        host->drain_words--;
                }
 
-               kunmap_atomic(page);
+               kunmap_local(page);
        }
 
        bcm2835_finish_data(host);