OSDN Git Service

scsi/libiscsi: Fix static checker warning on bh locking
authorShlomo Pongratz <shlomop@mellanox.com>
Sun, 30 Mar 2014 12:26:29 +0000 (15:26 +0300)
committerChristoph Hellwig <hch@lst.de>
Mon, 19 May 2014 11:33:00 +0000 (13:33 +0200)
Commit 659743b "[SCSI] libiscsi: Reduce locking contention in fast path" introduced a
new smatch warning on libiscsi.c "iscsi_xmit_task() warn: inconsistent returns
bottom_half:: locked (1410 [(-61)]) unlocked (1425 [0], 1425 [s32min-(-1),1-s32max])",
which we can eliminate by using non bh locking on the nested spin_lock call.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Shlomo Pongratz <shlomop@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/scsi/libiscsi.c

index 26dc005..ecd7bd3 100644 (file)
@@ -1442,9 +1442,9 @@ static int iscsi_xmit_task(struct iscsi_conn *conn)
                conn->task = NULL;
        }
        /* regular RX path uses back_lock */
-       spin_lock_bh(&conn->session->back_lock);
+       spin_lock(&conn->session->back_lock);
        __iscsi_put_task(task);
-       spin_unlock_bh(&conn->session->back_lock);
+       spin_unlock(&conn->session->back_lock);
        return rc;
 }