linux_dsm_epyc7002/drivers/scsi/qla2xxx
Thadeu Lima de Souza Cascardo a30c2a3bf8 qla2xxx: prevent board_disable from running during EEH
Commit f3ddac1918 ("[SCSI] qla2xxx:
Disable adapter when we encounter a PCI disconnect.") has introduced a
code that disables the board, releasing some resources, when reading
0xffffffff.

In case this happens when there is an EEH, this read will trigger EEH
detection and set PCI channel offline. EEH will be able to recover the
card from this state by doing a reset, so it's a better option than
simply disabling the card.

Since eeh_check_failure will mark the channel as offline before
returning the read value, in case there really was an EEH, we can simply
check for pci_channel_offline, preventing the board_disable code from
running if it's true.

Without this patch, EEH code will try to access those same resources
that board_disable will try to free. This race can cause EEH recovery to
fail.

[  504.370577] EEH: Notify device driver to resume
[  504.370580] qla2xxx [0001:07:00.0]-9002:2: The device failed to resume I/O from slot/link_reset.

Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
Acked-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
2015-08-12 11:17:22 -07:00
..
Kconfig qla2xxx: Add support to load firmware from file for ISP 26XX/27XX. 2015-04-10 08:41:50 -07:00
Makefile
qla_attr.c qla2xxx: Add missing ISP27xx checks to optrom code. 2014-09-25 14:25:04 +02:00
qla_bsg.c qla2xxx: Add missing ISP27xx checks to optrom code. 2014-09-25 14:25:04 +02:00
qla_bsg.h qla2xxx: Change copyright year to 2014 in all the source files. 2014-05-19 13:31:02 +02:00
qla_dbg.c qla2xxx: Prevent multiple firmware dump collection for ISP27XX. 2015-04-10 08:42:49 -07:00
qla_dbg.h qla2xxx: Change copyright year to 2014 in all the source files. 2014-05-19 13:31:02 +02:00
qla_def.h qla2xxx: Fix virtual port configuration, when switch port is disabled/enabled. 2015-04-10 08:42:58 -07:00
qla_devtbl.h
qla_dfs.c scsi: print single-character strings with seq_putc 2015-02-02 09:57:46 -08:00
qla_fw.h qla2xxx: Honor FCP_RSP retry delay timer field. 2014-09-25 14:25:04 +02:00
qla_gbl.h qla2xxx: remove redundant declaration in 'qla_gbl.h' 2014-11-12 11:32:01 +01:00
qla_gs.c qla2xxx: Add FDMI-2 functionality. 2014-09-25 14:25:02 +02:00
qla_init.c qla2xxx: Fix indentation 2015-06-13 08:51:39 -07:00
qla_inline.h qla2xxx: Honor FCP_RSP retry delay timer field. 2014-09-25 14:25:04 +02:00
qla_iocb.c qla2xxx: Fix indentation 2015-06-13 08:51:39 -07:00
qla_isr.c qla2xxx: prevent board_disable from running during EEH 2015-08-12 11:17:22 -07:00
qla_mbx.c qla2xxx: Add debugging info for MBX timeout. 2015-04-10 08:42:30 -07:00
qla_mid.c SCSI misc on 20150416 2015-04-16 19:02:04 -04:00
qla_mr.c scsi: remove abuses of scsi_populate_tag 2014-11-12 11:19:41 +01:00
qla_mr.h qla2xxx: Adjust adapter reset routine to the changes in firmware specification for ISPFx00. 2014-05-19 13:31:03 +02:00
qla_nx2.c qla2xxx: Fix indentation 2015-06-13 08:51:39 -07:00
qla_nx2.h qla2xxx: Check the QLA8044_CRB_DRV_ACTIVE_INDEX register when we are not the owner of the reset. 2014-05-19 13:31:04 +02:00
qla_nx.c qla2xxx: Fix indentation 2015-06-13 08:51:39 -07:00
qla_nx.h qla2xxx: Change copyright year to 2014 in all the source files. 2014-05-19 13:31:02 +02:00
qla_os.c qla2xxx: Comment out unreachable code 2015-06-13 08:50:41 -07:00
qla_settings.h qla2xxx: Change copyright year to 2014 in all the source files. 2014-05-19 13:31:02 +02:00
qla_sup.c qla2xxx: Fix beacon blink for ISP27XX. 2015-04-10 08:41:40 -07:00
qla_target.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2015-07-04 14:13:43 -07:00
qla_target.h target: Move task tag into struct se_cmd + support 64-bit tags 2015-05-30 22:42:31 -07:00
qla_tmpl.c qla2xxx: Prevent multiple firmware dump collection for ISP27XX. 2015-04-10 08:42:49 -07:00
qla_tmpl.h qla2xxx: ISP27xx fwdump template error print simplification. 2014-09-25 14:25:02 +02:00
qla_version.h qla2xxx: Update driver version to 8.07.00.18-k 2015-04-10 08:43:17 -07:00
tcm_qla2xxx.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2015-07-04 14:13:43 -07:00
tcm_qla2xxx.h target: move transport ID handling to the core 2015-05-30 22:42:30 -07:00