From: Dan Williams Date: Fri, 18 Jul 2008 00:59:56 +0000 (-0700) Subject: iop_adma: directly reclaim descriptors on allocation failure X-Git-Tag: v2.6.27-rc1~852^2~5 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=c7141d005a19d2a0a316b3bf9c170d3bedf07bfd;p=linux-2.6-omap-h63xx.git iop_adma: directly reclaim descriptors on allocation failure 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 --- diff --git a/drivers/dma/iop-adma.c b/drivers/dma/iop-adma.c index 434013d4128..8acbc3ab0b9 100644 --- a/drivers/dma/iop-adma.c +++ b/drivers/dma/iop-adma.c @@ -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; }