]> git.itanic.dy.fi Git - linux-stable/commitdiff
mmc: wbsd: Replace kmap_atomic() with kmap_local_page()
authorAdrian Hunter <adrian.hunter@intel.com>
Wed, 5 Oct 2022 10:19:51 +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>
Link: https://lore.kernel.org/r/20221005101951.3165-15-adrian.hunter@intel.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/wbsd.c

index 67ecd342fe5f1abe3cd45a61b61d8cd3f130ebbc..2219144c166abf48768ee4b14880d48601842f72 100644 (file)
@@ -267,7 +267,7 @@ static inline int wbsd_next_sg(struct wbsd_host *host)
 
 static inline char *wbsd_map_sg(struct wbsd_host *host)
 {
-       return kmap_atomic(sg_page(host->cur_sg)) + host->cur_sg->offset;
+       return kmap_local_page(sg_page(host->cur_sg)) + host->cur_sg->offset;
 }
 
 static inline void wbsd_sg_to_dma(struct wbsd_host *host, struct mmc_data *data)
@@ -439,7 +439,7 @@ static void wbsd_empty_fifo(struct wbsd_host *host)
                         * End of scatter list entry?
                         */
                        if (host->remain == 0) {
-                               kunmap_atomic(buffer);
+                               kunmap_local(buffer);
                                /*
                                 * Get next entry. Check if last.
                                 */
@@ -451,7 +451,7 @@ static void wbsd_empty_fifo(struct wbsd_host *host)
                        }
                }
        }
-       kunmap_atomic(buffer);
+       kunmap_local(buffer);
 
        /*
         * This is a very dirty hack to solve a
@@ -505,7 +505,7 @@ static void wbsd_fill_fifo(struct wbsd_host *host)
                         * End of scatter list entry?
                         */
                        if (host->remain == 0) {
-                               kunmap_atomic(buffer);
+                               kunmap_local(buffer);
                                /*
                                 * Get next entry. Check if last.
                                 */
@@ -517,7 +517,7 @@ static void wbsd_fill_fifo(struct wbsd_host *host)
                        }
                }
        }
-       kunmap_atomic(buffer);
+       kunmap_local(buffer);
 
        /*
         * The controller stops sending interrupts for