]> git.itanic.dy.fi Git - linux-stable/commitdiff
mmc: tmio_mmc_core: Replace kmap_atomic() with kmap_local_page()
authorAdrian Hunter <adrian.hunter@intel.com>
Wed, 5 Oct 2022 10:19:49 +0000 (13:19 +0300)
committerUlf Hansson <ulf.hansson@linaro.org>
Wed, 7 Dec 2022 12:22:33 +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>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20221005101951.3165-13-adrian.hunter@intel.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/tmio_mmc.h

index 22375790b57b0ef39c5fa8e9f794b5a3982a3d12..e36ff80108e63525f41131bb36303919dd58d565 100644 (file)
@@ -206,13 +206,13 @@ irqreturn_t tmio_mmc_irq(int irq, void *devid);
 
 static inline char *tmio_mmc_kmap_atomic(struct scatterlist *sg)
 {
-       return kmap_atomic(sg_page(sg)) + sg->offset;
+       return kmap_local_page(sg_page(sg)) + sg->offset;
 }
 
 static inline void tmio_mmc_kunmap_atomic(struct scatterlist *sg,
                                          void *virt)
 {
-       kunmap_atomic(virt - sg->offset);
+       kunmap_local(virt - sg->offset);
 }
 
 #ifdef CONFIG_PM