linux/Documentation/scsi
Wei Fang 72d8c36ec3 scsi: fix race between simultaneous decrements of ->host_failed
sas_ata_strategy_handler() adds the works of the ata error handler to
system_unbound_wq. This workqueue asynchronously runs work items, so the
ata error handler will be performed concurrently on different CPUs. In
this case, ->host_failed will be decreased simultaneously in
scsi_eh_finish_cmd() on different CPUs, and become abnormal.

It will lead to permanently inequality between ->host_failed and
->host_busy, and scsi error handler thread won't start running. IO
errors after that won't be handled.

Since all scmds must have been handled in the strategy handler, just
remove the decrement in scsi_eh_finish_cmd() and zero ->host_busy after
the strategy handler to fix this race.

Fixes: 50824d6c56 ("[SCSI] libsas: async ata-eh")
Cc: stable@vger.kernel.org
Signed-off-by: Wei Fang <fangwei1@huawei.com>
Reviewed-by: James Bottomley <jejb@linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2016-06-08 23:08:04 -04:00
..
scsi_transport_srp scsi_transport_srp: Add rport state diagram 2014-01-21 10:46:17 -08:00
00-INDEX Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
53c700.txt Doc: 53c700: drop never defined (Kconfig) macros 2011-11-08 10:24:15 +01:00
aacraid.txt
advansys.txt
aha152x.txt Fix common misspellings 2011-03-31 11:26:23 -03:00
aic7xxx.txt Documentation: remove references to /etc/modprobe.conf 2012-03-30 16:03:15 -07:00
aic79xx.txt Documentation: remove references to /etc/modprobe.conf 2012-03-30 16:03:15 -07:00
arcmsr_spec.txt
bfa.txt [SCSI] bfa: add readme file 2012-02-19 08:09:01 -06:00
bnx2fc.txt [SCSI] bnx2fc: Add driver documentation 2011-09-22 15:10:59 +04:00
BusLogic.txt doc: fix wrong arch/i386 references 2011-06-13 13:43:05 +02:00
ChangeLog.1992-1997
ChangeLog.arcmsr
ChangeLog.ips
ChangeLog.lpfc Documentation: Fix multiple typo in Documentation 2012-03-07 16:08:24 +01:00
ChangeLog.megaraid Fix common misspellings 2011-03-31 11:26:23 -03:00
ChangeLog.megaraid_sas megaraid_sas: Version and Changelog update 2014-09-16 09:09:54 -07:00
ChangeLog.ncr53c8xx Fix common misspellings 2011-03-31 11:26:23 -03:00
ChangeLog.sym53c8xx Fix common misspellings 2011-03-31 11:26:23 -03:00
ChangeLog.sym53c8xx_2
cxgb3i.txt
dc395x.txt
dpti.txt
dtc3x80.txt
FlashPoint.txt
g_NCR5380.txt ncr5380: Update usage documentation 2016-04-11 16:57:09 -04:00
hpsa.txt [SCSI] hpsa: export resettable host attribute 2011-03-14 18:44:41 -05:00
hptiop.txt Documentation/scsi/hptiop.txt fix a typo 2013-08-20 12:41:12 +02:00
in2000.txt
libsas.txt libsas: remove task_collector mode 2014-11-27 16:40:24 +01:00
LICENSE.FlashPoint
LICENSE.qla2xxx qla2xxx: Change copyright year to 2014 in all the source files. 2014-05-19 13:31:02 +02:00
LICENSE.qla4xxx [SCSI] qla4xxx: Update Copyright header 2013-09-03 07:27:54 -07:00
link_power_management_policy.txt
lpfc.txt
megaraid.txt
Mylex.txt
ncr53c8xx.txt genirq: Remove the deprecated 'IRQF_DISABLED' request_irq() flag entirely 2015-03-05 20:53:06 +01:00
NinjaSCSI.txt
osd.txt Boaz Harrosh - fix email in Documentation 2014-10-19 20:36:36 +03:00
osst.txt Documentation: remove references to /etc/modprobe.conf 2012-03-30 16:03:15 -07:00
ppa.txt
qlogicfas.txt
scsi_eh.txt scsi: fix race between simultaneous decrements of ->host_failed 2016-06-08 23:08:04 -04:00
scsi_fc_transport.txt Fix common misspellings 2011-03-31 11:26:23 -03:00
scsi_mid_low_api.txt Merge branch 'for-4.2/sg' of git://git.kernel.dk/linux-block 2015-06-25 15:22:36 -07:00
scsi-changer.txt Fix common misspellings 2011-03-31 11:26:23 -03:00
scsi-generic.txt Documentation: Fix Broken URL "freshmeat" 2012-02-21 11:43:45 +01:00
scsi-parameters.txt ncr5380: Update usage documentation 2016-04-11 16:57:09 -04:00
scsi.txt
st.txt st: Fix MTMKPART to work with newer drives 2016-02-23 21:27:02 -05:00
sym53c8xx_2.txt Documentation: fix minor typos/spelling 2011-04-04 17:51:47 -07:00
sym53c500_cs.txt
tmscsim.txt genirq: Remove the deprecated 'IRQF_DISABLED' request_irq() flag entirely 2015-03-05 20:53:06 +01:00
ufs.txt [SCSI] ufshcd: UFS Host controller driver 2012-03-27 08:26:28 +01:00
wd719x.txt wd719x: Add firmware documentation 2014-11-25 15:42:55 +01:00