aha/drivers/scsi/libfc
Joe Eykholt 5f7ea3b7f8 [SCSI] libfc: fc_rport_logoff should not drop the lock
fc_rport_logoff drops the rport lock in order to cancel work
that may be pending.  This is undesirable as the state can
completely change, and the caller may not expect that the
lock could've been dropped.

If there is work pending, it will acquire the rdata mutex and
so we're protected and can change the event from READY to DELETE.
Queue the work only if there is no event already pending.

There were a couple other cases where the state was set to
DELETE and work queued, even though the state may have already
been DELETE.  Fix these using a common function fc_rport_enter_delete().

Signed-off-by: Joe Eykholt <jeykholt@cisco.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
2009-08-22 17:52:06 -05:00
..
fc_disc.c libfc: Add runtime debugging with debug_logging module parameter 2009-06-21 11:07:08 -05:00
fc_elsct.c [SCSI] libfc: Fix compilation warnings with allmodconfig 2009-04-27 10:19:31 -05:00
fc_exch.c [SCSI] libfc: fix WARNING from fc_seq_start_next on closed exchanges 2009-08-22 17:52:06 -05:00
fc_fcp.c libfc: Add runtime debugging with debug_logging module parameter 2009-06-21 11:07:08 -05:00
fc_frame.c [SCSI] libfc: A modular Fibre Channel library 2008-12-29 11:24:33 -06:00
fc_lport.c [SCSI] libfc: in fc_lport_destroy, flush rports after turning off link 2009-08-22 17:52:05 -05:00
fc_rport.c [SCSI] libfc: fc_rport_logoff should not drop the lock 2009-08-22 17:52:06 -05:00
Makefile [SCSI] libfc: A modular Fibre Channel library 2008-12-29 11:24:33 -06:00