dmaengine: virt-dma: Convert to use list_for_each_entry_safe()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 25 Apr 2017 19:36:38 +0000 (22:36 +0300)
committerVinod Koul <vinod.koul@intel.com>
Wed, 26 Apr 2017 03:33:27 +0000 (09:03 +0530)
Use list_for_each_entry_safe() instead of open coding variants.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/virt-dma.c

index e47fc9b..545e972 100644 (file)
@@ -86,7 +86,7 @@ EXPORT_SYMBOL_GPL(vchan_find_desc);
 static void vchan_complete(unsigned long arg)
 {
        struct virt_dma_chan *vc = (struct virt_dma_chan *)arg;
-       struct virt_dma_desc *vd;
+       struct virt_dma_desc *vd, *_vd;
        struct dmaengine_desc_callback cb;
        LIST_HEAD(head);
 
@@ -103,8 +103,7 @@ static void vchan_complete(unsigned long arg)
 
        dmaengine_desc_callback_invoke(&cb, NULL);
 
-       while (!list_empty(&head)) {
-               vd = list_first_entry(&head, struct virt_dma_desc, node);
+       list_for_each_entry_safe(vd, _vd, &head, node) {
                dmaengine_desc_get_callback(&vd->tx, &cb);
 
                list_del(&vd->node);
@@ -119,9 +118,9 @@ static void vchan_complete(unsigned long arg)
 
 void vchan_dma_desc_free_list(struct virt_dma_chan *vc, struct list_head *head)
 {
-       while (!list_empty(head)) {
-               struct virt_dma_desc *vd = list_first_entry(head,
-                       struct virt_dma_desc, node);
+       struct virt_dma_desc *vd, *_vd;
+
+       list_for_each_entry_safe(vd, _vd, head, node) {
                if (dmaengine_desc_test_reuse(&vd->tx)) {
                        list_move_tail(&vd->node, &vc->desc_allocated);
                } else {