dmaengine: ioatdma: fix sparse "error" with prep lock
authorDave Jiang <dave.jiang@intel.com>
Tue, 25 Aug 2015 19:58:05 +0000 (12:58 -0700)
committerVinod Koul <vinod.koul@intel.com>
Wed, 26 Aug 2015 02:23:58 +0000 (07:53 +0530)
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>
drivers/dma/ioat/dma.c

index 50d0112b602a12363c47516d986f014ae7c9cca7..f66b7e6406105ea13100cc8cae029a7603341941 100644 (file)
@@ -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;