]> git.baikalelectronics.ru Git - kernel.git/commit
Revert revert of "[SCSI] fix usb storage oops"
authorLinus Torvalds <torvalds@g5.osdl.org>
Mon, 12 Dec 2005 19:25:04 +0000 (11:25 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 12 Dec 2005 19:25:04 +0000 (11:25 -0800)
commit5ce9d24ea975e9f8aaa676e0b534b119a651aade
tree7011cfcf89a09a2ef4fdcd04cb835bfed4b6677a
parent921a84b719b4bfe2515161cbec4e8ff811211c4b
Revert revert of "[SCSI] fix usb storage oops"

This reverts commit 74a29902af7f26e62118b700b03d0fad8180d681, which in
turn reverted c463c0f699aab26893da781d3e6a687dde0c29bd (which is thus
re-instated).

Quoth James Bottomley:

  "All it's doing is deferring the device_put() from the
   scsi_put_command() to after the scsi_run_queue(), which doesn't fix
   the sleep while atomic problem of the device release method.  In both
   cases we still get the semaphore in atomic context problem which is
   caused by scsi_reap_target() doing a device_del(), which I assumed
   (wrongly) was valid from atomic context."

who also promised to fix scsi_reap_target().

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/scsi/scsi_lib.c