scsi/libiscsi: Fix static checker warning on bh locking

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>
This commit is contained in:
Shlomo Pongratz 2014-03-30 15:26:29 +03:00 committed by Christoph Hellwig
parent abb14148c0
commit 72b9740201

View File

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