[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:
Mike Christie 2009-04-09 15:57:10 -05:00 committed by James Bottomley
parent e832b3ca65
commit b4efdd586b

View File

@ -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)) {