[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>
This commit is contained in:
committed by
James Bottomley
parent
e832b3ca65
commit
b4efdd586b
@@ -1291,10 +1291,8 @@ static inline int scsi_target_queue_ready(struct Scsi_Host *shost,
|
|||||||
if (--starget->target_blocked == 0) {
|
if (--starget->target_blocked == 0) {
|
||||||
SCSI_LOG_MLQUEUE(3, starget_printk(KERN_INFO, starget,
|
SCSI_LOG_MLQUEUE(3, starget_printk(KERN_INFO, starget,
|
||||||
"unblocking target at zero depth\n"));
|
"unblocking target at zero depth\n"));
|
||||||
} else {
|
} else
|
||||||
blk_plug_device(sdev->request_queue);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (scsi_target_is_busy(starget)) {
|
if (scsi_target_is_busy(starget)) {
|
||||||
|
Reference in New Issue
Block a user