summaryrefslogtreecommitdiffstats
path: root/drivers/dma/ioat/dma.c
diff options
context:
space:
mode:
authorDave Jiang <dave.jiang@intel.com>2015-08-25 12:58:05 -0700
committerVinod Koul <vinod.koul@intel.com>2015-08-26 07:53:58 +0530
commit5c65cb93a3d066f52a109552572304675d5a52fc (patch)
treed6d763160a9a56ef042e1c4527db310d6889dba4 /drivers/dma/ioat/dma.c
parent4d112426c3446d94b9bc56396075524b06913b1c (diff)
downloadlinux-stable-5c65cb93a3d066f52a109552572304675d5a52fc.tar.gz
linux-stable-5c65cb93a3d066f52a109552572304675d5a52fc.tar.bz2
linux-stable-5c65cb93a3d066f52a109552572304675d5a52fc.zip
dmaengine: ioatdma: fix sparse "error" with prep lock
The prep lock gets acquired in ioat_check_space_lock and released in ioat_tx_submit_unlock. Setting the annotations so sparse does not freak out. drivers/dma/ioat/dma.c:273:30: sparse: context imbalance in 'ioat_tx_submit_unlock' - unexpected unlock drivers/dma/ioat/dma.c:476:5: sparse: context imbalance in 'ioat_check_space_lock' - wrong count at exit Signed-off-by: Dave Jiang <dave.jiang@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma/ioat/dma.c')
-rw-r--r--drivers/dma/ioat/dma.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/dma/ioat/dma.c b/drivers/dma/ioat/dma.c
index 50d0112b602a..f66b7e640610 100644
--- a/drivers/dma/ioat/dma.c
+++ b/drivers/dma/ioat/dma.c
@@ -262,6 +262,7 @@ static int ioat_reset_sync(struct ioatdma_chan *ioat_chan, unsigned long tmo)
}
static dma_cookie_t ioat_tx_submit_unlock(struct dma_async_tx_descriptor *tx)
+ __releases(&ioat_chan->prep_lock)
{
struct dma_chan *c = tx->chan;
struct ioatdma_chan *ioat_chan = to_ioat_chan(c);
@@ -474,6 +475,7 @@ static bool reshape_ring(struct ioatdma_chan *ioat_chan, int order)
* @num_descs: allocation length
*/
int ioat_check_space_lock(struct ioatdma_chan *ioat_chan, int num_descs)
+ __acquires(&ioat_chan->prep_lock)
{
bool retry;