diff options
author | Tomoya MORINAGA <tomoya.rohm@gmail.com> | 2013-02-12 11:25:33 +0900 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2013-05-30 14:35:09 +0100 |
commit | 99f9dba9919c903f04eec1001b5634e3e8bb40cb (patch) | |
tree | f1e39fd74cf14dbacc6b475d15da566d5dea2911 | |
parent | 3bda05cf930f4d93cea39f157a069472db1be266 (diff) | |
download | linux-rt-99f9dba9919c903f04eec1001b5634e3e8bb40cb.tar.gz |
pch_dma: Use GFP_ATOMIC because called from interrupt context
commit 5c1ef59168c485318e40ba485c1eba57d81d0faa upstream.
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 <tomoya.rohm@gmail.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-rw-r--r-- | drivers/dma/pch_dma.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/dma/pch_dma.c b/drivers/dma/pch_dma.c index 629c430386ec..49138e72e570 100644 --- a/drivers/dma/pch_dma.c +++ b/drivers/dma/pch_dma.c @@ -489,7 +489,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++; |