[SCSI] Update the SCSI state model to allow blocking in the created state
authorJames Bottomley <James.Bottomley@HansenPartnership.com>
Fri, 22 Aug 2008 21:53:31 +0000 (16:53 -0500)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Fri, 3 Oct 2008 16:46:13 +0000 (11:46 -0500)
commit6f4267e3bd1211b3d09130e626b0b3d885077610
treee9350f919238866c3bcd9c340ffea639a0c5de1d
parent0f1d87a2acb8fd1f2ef8af109a785123ddc1a6cb
[SCSI] Update the SCSI state model to allow blocking in the created state

Brian King <brking@linux.vnet.ibm.com> reported that fibre channel
devices can oops during scanning if their ports block (because the
device goes from CREATED -> BLOCK -> RUNNING rather than CREATED ->
BLOCK -> CREATED).

Fix this by adding a new state: CREATED_BLOCK which can only transition
back to CREATED and disallow the CREATED -> BLOCK transition.  Now both
the created and blocked states that the mid-layer recognises can include
CREATED_BLOCK.

Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/scsi/scsi_lib.c
drivers/scsi/scsi_scan.c
drivers/scsi/scsi_sysfs.c
include/scsi/scsi_device.h