aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsi_lib.c
diff options
context:
space:
mode:
authorMike Christie <michaelc@cs.wisc.edu>2009-04-09 16:57:10 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2009-04-27 10:48:10 -0400
commitb4efdd586bc08cdf5977cad0a90091f44546a930 (patch)
treef76209d5cdc4c7dfd296a0c8c0ec6c192610600b /drivers/scsi/scsi_lib.c
parente832b3ca653895d479c872f995d0a31a0b0bdecd (diff)
[SCSI] fix q->lock not held warning when target is busy
We cannot call blk_plug_device from scsi_target_queue_ready because the q lock is not held. And we do not need to call it from there because when we return 0, the scsi_request_fn not_ready handling will plug the queue for us if needed. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/scsi_lib.c')
-rw-r--r--drivers/scsi/scsi_lib.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index d1cb64ad1a3f..bb218c8b6e98 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -1291,10 +1291,8 @@ static inline int scsi_target_queue_ready(struct Scsi_Host *shost,
1291 if (--starget->target_blocked == 0) { 1291 if (--starget->target_blocked == 0) {
1292 SCSI_LOG_MLQUEUE(3, starget_printk(KERN_INFO, starget, 1292 SCSI_LOG_MLQUEUE(3, starget_printk(KERN_INFO, starget,
1293 "unblocking target at zero depth\n")); 1293 "unblocking target at zero depth\n"));
1294 } else { 1294 } else
1295 blk_plug_device(sdev->request_queue);
1296 return 0; 1295 return 0;
1297 }
1298 } 1296 }
1299 1297
1300 if (scsi_target_is_busy(starget)) { 1298 if (scsi_target_is_busy(starget)) {