]> err.no Git - linux-2.6/commitdiff
iop_adma: directly reclaim descriptors on allocation failure
authorDan Williams <dan.j.williams@intel.com>
Fri, 18 Jul 2008 00:59:56 +0000 (17:59 -0700)
committerDan Williams <dan.j.williams@intel.com>
Fri, 18 Jul 2008 00:59:56 +0000 (17:59 -0700)
Force callers that trigger an "out of descriptors" condition to run the
cleanup loop directly.  Alleviates the requirement to have soft-irqs
enabled when polling for a descriptor in async_xor.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/dma/iop-adma.c

index 434013d4128899503362e171c0bd26881684aa0f..8acbc3ab0b926d42a58dda6075555edae16e09d1 100644 (file)
@@ -373,8 +373,8 @@ retry:
        if (!retry++)
                goto retry;
 
-       /* try to free some slots if the allocation fails */
-       tasklet_schedule(&iop_chan->irq_tasklet);
+       /* perform direct reclaim if the allocation fails */
+       __iop_adma_slot_cleanup(iop_chan);
 
        return NULL;
 }