dmaengine: virt-dma: Convert to use list_for_each_entry_safe()

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>
This commit is contained in:
Andy Shevchenko 2017-04-25 22:36:38 +03:00 committed by Vinod Koul
parent e57d05520f
commit fdb980fb17
1 changed files with 5 additions and 6 deletions
drivers/dma

View File

@ -86,7 +86,7 @@ EXPORT_SYMBOL_GPL(vchan_find_desc);
static void vchan_complete(unsigned long arg) static void vchan_complete(unsigned long arg)
{ {
struct virt_dma_chan *vc = (struct virt_dma_chan *)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; struct dmaengine_desc_callback cb;
LIST_HEAD(head); LIST_HEAD(head);
@ -103,8 +103,7 @@ static void vchan_complete(unsigned long arg)
dmaengine_desc_callback_invoke(&cb, NULL); dmaengine_desc_callback_invoke(&cb, NULL);
while (!list_empty(&head)) { list_for_each_entry_safe(vd, _vd, &head, node) {
vd = list_first_entry(&head, struct virt_dma_desc, node);
dmaengine_desc_get_callback(&vd->tx, &cb); dmaengine_desc_get_callback(&vd->tx, &cb);
list_del(&vd->node); 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) void vchan_dma_desc_free_list(struct virt_dma_chan *vc, struct list_head *head)
{ {
while (!list_empty(head)) { struct virt_dma_desc *vd, *_vd;
struct virt_dma_desc *vd = list_first_entry(head,
struct virt_dma_desc, node); list_for_each_entry_safe(vd, _vd, head, node) {
if (dmaengine_desc_test_reuse(&vd->tx)) { if (dmaengine_desc_test_reuse(&vd->tx)) {
list_move_tail(&vd->node, &vc->desc_allocated); list_move_tail(&vd->node, &vc->desc_allocated);
} else { } else {