mmc: sdhci: Replace kmap_atomic() with kmap_local_page()
authorAdrian Hunter <adrian.hunter@intel.com>
Wed, 5 Oct 2022 10:19:40 +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-4-adrian.hunter@intel.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci.c

index a14cc08e531846e30cfbbf5dca5d8c6d93a74c02..ebb71d235c38739272a78b3c1a73480ea8ba7637 100644 (file)
@@ -698,12 +698,12 @@ static int sdhci_pre_dma_transfer(struct sdhci_host *host,
 
 static char *sdhci_kmap_atomic(struct scatterlist *sg)
 {
-       return kmap_atomic(sg_page(sg)) + sg->offset;
+       return kmap_local_page(sg_page(sg)) + sg->offset;
 }
 
 static void sdhci_kunmap_atomic(void *buffer)
 {
-       kunmap_atomic(buffer);
+       kunmap_local(buffer);
 }
 
 void sdhci_adma_write_desc(struct sdhci_host *host, void **desc,