[SCSI] scsi_transport_fc: remove invalid BUG_ON
authorMichael Reed <mdr@sgi.com>
Fri, 9 Oct 2009 19:15:59 +0000 (14:15 -0500)
committerJames Bottomley <James.Bottomley@suse.de>
Thu, 29 Oct 2009 17:03:28 +0000 (13:03 -0400)
commit8798a694da59486e4a3ff0abeec183202fb34c20
tree2410f1f70f7724e41f700c1ec4086f2567208730
parentad63082626f99651d261ccd8698ce4e997362f7e
[SCSI] scsi_transport_fc: remove invalid BUG_ON

I was doing some large lun count testing with 2.6.31 and hit
a BUG_ON() in fc_timeout_deleted_rport(), and it seems like it
should have been just a matter of time before someone did.

It seems invalid to set port_state under lock, then expect it to
remain set after releasing the lock.  Another thread called
fc_remote_port_add() when the lock was released, changing the
port_state.

This patch removes the BUG_ON and moves the test of the
port_state to inside the host_lock.  It's been running for
several weeks now with no ill effect.

Signed-off-by: Michael Reed <mdr@sgi.com>
Acked-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/scsi_transport_fc.c