mm/dmapool.c: replace open-coded list_for_each_entry_safe()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 13 Oct 2020 23:54:35 +0000 (16:54 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 14 Oct 2020 01:38:32 +0000 (18:38 -0700)
There is a place in the code where open-coded version of
list_for_each_entry_safe() is used.  Replace that with the standard macro.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Matthew Wilcox <willy@infradead.org>
Link: http://lkml.kernel.org/r/20200814135055.24898-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/dmapool.c

index f9fb9bb..7716a7a 100644 (file)
@@ -266,6 +266,7 @@ static void pool_free_page(struct dma_pool *pool, struct dma_page *page)
  */
 void dma_pool_destroy(struct dma_pool *pool)
 {
+       struct dma_page *page, *tmp;
        bool empty = false;
 
        if (unlikely(!pool))
@@ -281,10 +282,7 @@ void dma_pool_destroy(struct dma_pool *pool)
                device_remove_file(pool->dev, &dev_attr_pools);
        mutex_unlock(&pools_reg_lock);
 
-       while (!list_empty(&pool->page_list)) {
-               struct dma_page *page;
-               page = list_entry(pool->page_list.next,
-                                 struct dma_page, page_list);
+       list_for_each_entry_safe(page, tmp, &pool->page_list, page_list) {
                if (is_page_busy(page)) {
                        if (pool->dev)
                                dev_err(pool->dev,