[SCSI] fix locking in host use of blk_plug_device()
authorJames Bottomley <James.Bottomley@HansenPartnership.com>
Thu, 3 Jul 2008 16:31:55 +0000 (11:31 -0500)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Sat, 12 Jul 2008 13:22:36 +0000 (08:22 -0500)
commit2476b4d0426e1d6d4a42b2f7ae08f668b2cfe510
tree72ec0e163229be6674a8fe110d49dea2546dad55
parent92c299d11acd3f3e75a721acb8f57c457d5c394f
[SCSI] fix locking in host use of blk_plug_device()

scsi_lib.c:scsi_host_queue_ready() plugs the device with incorrect
locking.  It should actually have the queue lock held, but it's
holding the host lock.  Fix this by eliminating the call.  The host
ready has no need to plug the queue because if it returns 0 in
scsi_request_function control transfers to not_ready which acquires
the queue lock and plugs the device if its at zero depth.

Reported-by: Elias Oltmanns <eo@nebensachen.de>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/scsi/scsi_lib.c