async_pq: convert to dmaengine_unmap_data
[deliverable/linux.git] / drivers / dma / dmaengine.c
index 54138b57b37c868f84ba1a8c94f7ddc60cdc3086..f878c808466e0b38c4c3347ab3ba6aaebd88c08e 100644 (file)
@@ -953,9 +953,12 @@ static void dmaengine_unmap(struct kref *kref)
                dma_unmap_page(dev, unmap->addr[i], unmap->len,
                               DMA_FROM_DEVICE);
        cnt += unmap->bidi_cnt;
-       for (; i < cnt; i++)
+       for (; i < cnt; i++) {
+               if (unmap->addr[i] == 0)
+                       continue;
                dma_unmap_page(dev, unmap->addr[i], unmap->len,
                               DMA_BIDIRECTIONAL);
+       }
        mempool_free(unmap, __get_unmap_pool(cnt)->pool);
 }
 
This page took 0.026265 seconds and 5 git commands to generate.