[SCSI] ibmvfc: Fix rport add/delete race resulting in oops
authorBrian King <brking@linux.vnet.ibm.com>
Thu, 5 Aug 2010 21:38:31 +0000 (16:38 -0500)
committerJames Bottomley <James.Bottomley@suse.de>
Fri, 6 Aug 2010 17:26:33 +0000 (12:26 -0500)
commitd5da3040d798df4bbb62579b97f8b6b83749da22
tree96efaf510657b9be678a9a31c807988ca7ae3cdd
parent161155519c27773b8f35ee3d7a1b49acfc9eee73
[SCSI] ibmvfc: Fix rport add/delete race resulting in oops

Commit 43c8da907ccc656935d1085701f4db83385d8a59 introduced a race
condition which can occur when adding/deleting rports. There are
two possible threads now that can be deleting rports in the ibmvfc
driver, which can result in list_del being called twice, resulting
in an oops. This patch adds a new state to the ibmvfc_target struct
to indicate the target has been removed from the list and is in
the process of being deleted.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/ibmvscsi/ibmvfc.c
drivers/scsi/ibmvscsi/ibmvfc.h