[SCSI] bsg: fix bsg_mutex hang with device removal
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Wed, 28 May 2008 22:56:55 +0000 (07:56 +0900)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Sat, 12 Jul 2008 13:22:23 +0000 (08:22 -0500)
commit3f27e3ed11e67c5ee19d560a50eafd93cf8c6682
treed2ed33ce7ca12c8b7e1c585ba9b2097095b0f89c
parent30e9ba9f2001f45960507f1963551311a67d0209
[SCSI] bsg: fix bsg_mutex hang with device removal

We don't need to hold bsg_mutex during bsg_complete_all_commands(). It
leads to a problem that we block bsg_unregister_queue during
bsg_complete_all_commands (untill all the outstanding commands
complete).

Thanks to Pete Wyckoff for finding the bug and testing the patch.

The detailed bug report is:

http://marc.info/?l=linux-scsi&m=121182137132145&w=2

Tested-by: Pete Wyckoff <pw@osc.edu>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
block/bsg.c