From 7cc77d7d3ef2283a4ae97a75611cf552ff82b989 Mon Sep 17 00:00:00 2001 From: Russell King - ARM Linux Date: Mon, 3 Jan 2011 22:31:24 +0000 Subject: [PATCH] --- yaml --- r: 231568 b: refs/heads/master c: bf072af461c166964fb110cfcafccd752fbb4c64 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/dma/amba-pl08x.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 9bcf8dd388d6..3b249429dc5f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 91aa5fadb831e7b6ea473a526a6b49c6dc4819ce +refs/heads/master: bf072af461c166964fb110cfcafccd752fbb4c64 diff --git a/trunk/drivers/dma/amba-pl08x.c b/trunk/drivers/dma/amba-pl08x.c index 5d9a15652dba..69cfb05e4d3c 100644 --- a/trunk/drivers/dma/amba-pl08x.c +++ b/trunk/drivers/dma/amba-pl08x.c @@ -1627,11 +1627,12 @@ static void pl08x_tasklet(unsigned long data) struct pl08x_dma_chan *plchan = (struct pl08x_dma_chan *) data; struct pl08x_phy_chan *phychan = plchan->phychan; struct pl08x_driver_data *pl08x = plchan->host; + unsigned long flags; if (!plchan) BUG(); - spin_lock(&plchan->lock); + spin_lock_irqsave(&plchan->lock, flags); if (plchan->at) { dma_async_tx_callback callback = @@ -1728,7 +1729,7 @@ static void pl08x_tasklet(unsigned long data) } } - spin_unlock(&plchan->lock); + spin_unlock_irqrestore(&plchan->lock, flags); } static irqreturn_t pl08x_irq(int irq, void *dev)