diff options
author | Mike Christie <michaelc@cs.wisc.edu> | 2009-04-09 15:57:10 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2009-04-27 09:48:10 -0500 |
commit | b4efdd586bc08cdf5977cad0a90091f44546a930 (patch) | |
tree | f76209d5cdc4c7dfd296a0c8c0ec6c192610600b /drivers/scsi/scsi_lib.c | |
parent | e832b3ca653895d479c872f995d0a31a0b0bdecd (diff) | |
download | linux-b4efdd586bc08cdf5977cad0a90091f44546a930.tar.gz linux-b4efdd586bc08cdf5977cad0a90091f44546a930.tar.bz2 linux-b4efdd586bc08cdf5977cad0a90091f44546a930.zip |
[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.c | 4 |
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, if (--starget->target_blocked == 0) { SCSI_LOG_MLQUEUE(3, starget_printk(KERN_INFO, starget, "unblocking target at zero depth\n")); - } else { - blk_plug_device(sdev->request_queue); + } else return 0; - } } if (scsi_target_is_busy(starget)) { |