linux/drivers/scsi/qla2xxx
Lalit Chandivade 86fbee86e9 [SCSI] qla2xxx: ensure flash operation and host reset via sg_reset are mutually exclusive
The problem occurring is a hw-race where there's an outstanding read-flash
operation occurring while the chip is being reset (done via an sg_reset script).
After the chip is paused, the read-flash operation never completes and the
DPC thread, while trying to complete the reset, is never able to recover,
as the HW appears to be hung...

The fix is to wait for outstanding flash operation prior to doing a sg_reset -h.
And to wait for reset to complete before any flash operations.

Note, during the wait, if any of the operation (reset/flash) does not complete,
failure is returned to the upper layer. The upper layer either need to
fail or retry.

Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
2010-05-16 18:22:07 -04:00
..
Kconfig [SCSI] qla2xxx: Update firmware filenames for new ISP parts. 2008-04-07 12:19:11 -05:00
Makefile [SCSI] qla2xxx: Add ISP82XX support. 2010-05-01 14:11:17 -05:00
qla_attr.c [SCSI] qla2xxx: ensure flash operation and host reset via sg_reset are mutually exclusive 2010-05-16 18:22:07 -04:00
qla_bsg.c [SCSI] qla2xxx: Support for asynchronous TM and Marker IOCBs. 2010-05-16 18:21:57 -04:00
qla_bsg.h [SCSI] qla2xxx: Re-organized BSG interface specific code. 2010-04-11 09:44:10 -05:00
qla_dbg.c [SCSI] qla2xxx: T10 DIF support added. 2010-05-16 18:21:59 -04:00
qla_dbg.h [SCSI] qla2xxx: T10 DIF support added. 2010-05-16 18:21:59 -04:00
qla_def.h [SCSI] qla2xxx: T10 DIF support added. 2010-05-16 18:21:59 -04:00
qla_devtbl.h [SCSI] qla2xxx: fix Kernel Panic with Qlogic 2472 Card. 2009-02-10 11:15:18 -05:00
qla_dfs.c [SCSI] qla2xxx: Initialize FCE debugfs codes with the proper vha structure. 2009-04-03 09:22:45 -05:00
qla_fw.h [SCSI] qla2xxx: T10 DIF support added. 2010-05-16 18:21:59 -04:00
qla_gbl.h [SCSI] qla2xxx: T10 DIF support added. 2010-05-16 18:21:59 -04:00
qla_gs.c [SCSI] qla2xxx: Add ISP82XX support. 2010-05-01 14:11:17 -05:00
qla_init.c [SCSI] qla2xxx: Silence bogus warning by gcc for wrap and did. 2010-05-16 18:22:06 -04:00
qla_inline.h [SCSI] qla2xxx: T10 DIF support added. 2010-05-16 18:21:59 -04:00
qla_iocb.c [SCSI] qla2xxx: T10 DIF support added. 2010-05-16 18:21:59 -04:00
qla_isr.c [SCSI] qla2xxx: T10 DIF support added. 2010-05-16 18:21:59 -04:00
qla_mbx.c [SCSI] qla2xxx: Support for asynchronous TM and Marker IOCBs. 2010-05-16 18:21:57 -04:00
qla_mid.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
qla_nx.c [SCSI] qla2xxx: Add ISP82XX support. 2010-05-01 14:11:17 -05:00
qla_nx.h [SCSI] qla2xxx: Add ISP82XX support. 2010-05-01 14:11:17 -05:00
qla_os.c [SCSI] qla2xxx: ensure flash operation and host reset via sg_reset are mutually exclusive 2010-05-16 18:22:07 -04: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: Add ISP82XX support. 2010-05-01 14:11:17 -05:00
qla_version.h [SCSI] qla2xxx: Updated version number to 8.03.02-k2. 2010-03-27 15:11:39 -04:00