]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/dma/fsldma.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit...
[mv-sheeva.git] / drivers / dma / fsldma.c
index 6541ebf8bf6388992f4db171d500dbca481c55f3..88f470f0d820ae5d599f09bf0452351bab203217 100644 (file)
@@ -27,6 +27,7 @@
 #include <linux/init.h>
 #include <linux/module.h>
 #include <linux/pci.h>
+#include <linux/slab.h>
 #include <linux/interrupt.h>
 #include <linux/dmaengine.h>
 #include <linux/delay.h>
@@ -819,8 +820,11 @@ static void fsl_dma_update_completed_cookie(struct fsldma_chan *chan)
        desc = to_fsl_desc(chan->ld_running.prev);
        if (dma_is_idle(chan))
                cookie = desc->async_tx.cookie;
-       else
+       else {
                cookie = desc->async_tx.cookie - 1;
+               if (unlikely(cookie < DMA_MIN_COOKIE))
+                       cookie = DMA_MAX_COOKIE;
+       }
 
        chan->completed_cookie = cookie;