linux/drivers/scsi/qla2xxx
Andrew Vasquez c795c1e4b6 [SCSI] qla2xxx: Explicitly tear-down vports during PCI remove_one().
During internal testing, we've seen issues (hangs) with the
'deferred' vport tear-down-processing typically accompanied with
the fc_remove_host() call.  This is due to the current
implementation's back-end vport handling being performed by the
physical-HA's DPC thread where premature shutdown could lead to
latent vport requests without a processor.

This should also address a problem reported by Gal Rosen
(http://marc.info/?l=linux-scsi&m=121731664417358&w=2) where the
driver would attempt to awaken a previously torn-down DPC thread
from interrupt context by implicitly calling wake_up_process()
rather than the driver's qla2xxx_wake_dpc() helper.  Rather, than
reshuffle the remove_one() device-removal code, during unload,
depend on the driver's timer to wake-up the DPC process, by
limiting wake-ups based on an 'unloading' flag.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
2008-08-16 10:24:12 -05:00
..
Kconfig [SCSI] qla2xxx: Update firmware filenames for new ISP parts. 2008-04-07 12:19:11 -05:00
Makefile [SCSI] qla2xxx: Add Fibre Channel Event (FCE) tracing support. 2008-01-23 11:29:32 -06:00
qla_attr.c [SCSI] qla2xxx: Correct synchronization of software/firmware fcport states. 2008-08-16 10:21:09 -05:00
qla_dbg.c [SCSI] qla2xxx: Correct overflow during dump-processing on large-memory ISP23xx parts. 2008-07-26 15:14:46 -04:00
qla_dbg.h [SCSI] qla2xxx: Add ISP84XX support. 2008-04-07 12:19:15 -05:00
qla_def.h [SCSI] qla2xxx: Explicitly tear-down vports during PCI remove_one(). 2008-08-16 10:24:12 -05:00
qla_devtbl.h [SCSI] qla2xxx: Resync with latest HBA SSID specification -- 2.2u. 2007-10-23 15:53:23 -04:00
qla_dfs.c [SCSI] qla2xxx: Update copyright banner. 2008-04-07 12:19:11 -05:00
qla_fw.h [SCSI] qla2xxx: Correct misc. endian and byte-ordering issues. 2008-04-27 12:19:59 -05:00
qla_gbl.h [SCSI] qla2xxx: Retrieve board serial-number and description from VPD. 2008-07-26 15:14:39 -04:00
qla_gs.c [SCSI] qla2xxx: Skip FDMI registration on ISP21xx/22xx parts. 2008-07-26 15:14:46 -04:00
qla_init.c [SCSI] qla2xxx: Set npiv_supported flag for FCoE HBAs. 2008-08-16 10:22:35 -05:00
qla_inline.h [SCSI] qla2xxx: Disable local-interrupts while polling for RISC status. 2008-05-15 16:39:29 +01:00
qla_iocb.c [SCSI] qla2xxx: Additional NPIV corrections. 2008-07-26 15:31:30 -04:00
qla_isr.c [SCSI] qla2xxx: Reference proper ha during SBR handling. 2008-08-16 10:23:53 -05:00
qla_mbx.c [SCSI] qla2xxx: Explicitly tear-down vports during PCI remove_one(). 2008-08-16 10:24:12 -05:00
qla_mid.c [SCSI] qla2xxx: Additional NPIV corrections. 2008-07-26 15:31:30 -04:00
qla_os.c [SCSI] qla2xxx: Explicitly tear-down vports during PCI remove_one(). 2008-08-16 10:24:12 -05:00
qla_settings.h [SCSI] qla2xxx: Remove unused and obsolete #define's. 2008-04-07 12:19:13 -05:00
qla_sup.c [SCSI] qla2xxx: Retrieve board serial-number and description from VPD. 2008-07-26 15:14:39 -04:00
qla_version.h [SCSI] qla2xxx: Update version number to 8.02.01-k6. 2008-07-26 15:31:47 -04:00