From: Tomoya MORINAGA Date: Tue, 12 Feb 2013 02:25:33 +0000 (+0900) Subject: pch_dma: Use GFP_ATOMIC because called from interrupt context X-Git-Tag: upstream/snapshot3+hdmi~5139^2~47 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5c1ef59168c485318e40ba485c1eba57d81d0faa;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git pch_dma: Use GFP_ATOMIC because called from interrupt context pdc_desc_get() is called from pd_prep_slave_sg, and the function is called from interrupt context(e.g. Uart driver "pch_uart.c"). In fact, I saw kernel error message. So, GFP_ATOMIC must be used not GFP_NOIO. Signed-off-by: Tomoya MORINAGA Signed-off-by: Vinod Koul --- diff --git a/drivers/dma/pch_dma.c b/drivers/dma/pch_dma.c index d01faeb..ce3dc3e 100644 --- a/drivers/dma/pch_dma.c +++ b/drivers/dma/pch_dma.c @@ -476,7 +476,7 @@ static struct pch_dma_desc *pdc_desc_get(struct pch_dma_chan *pd_chan) dev_dbg(chan2dev(&pd_chan->chan), "scanned %d descriptors\n", i); if (!ret) { - ret = pdc_alloc_desc(&pd_chan->chan, GFP_NOIO); + ret = pdc_alloc_desc(&pd_chan->chan, GFP_ATOMIC); if (ret) { spin_lock(&pd_chan->lock); pd_chan->descs_allocated++;