Hannes Reinecke
edb6590b1b
scsi: fnic: do not queue commands during fwreset
...
[ Upstream commit 0e2209629fec427ba75a6351486153a9feddd36b ]
When a link is going down the driver will be calling fnic_cleanup_io(),
which will traverse all commands and calling 'done' for each found command.
While the traversal is handled under the host_lock, calling 'done' happens
after the host_lock is being dropped.
As fnic_queuecommand_lck() is being called with the host_lock held, it
might well be that it will pick the command being selected for abortion
from the above routine and enqueue it for sending, but then 'done' is being
called on that very command from the above routine.
Which of course confuses the hell out of the scsi midlayer.
So fix this by not queueing commands when fnic_cleanup_io is active.
Link: https://lore.kernel.org/r/20200116102053.62755-1-hare@suse.de
Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-02-05 21:22:49 +00:00
..
aacraid
PCI: Move ASPM declarations to linux/pci.h
2019-08-28 08:28:39 -05:00
aic7xxx
SCSI misc on 20190709
2019-07-11 15:14:01 -07:00
aic94xx
scsi: aic94xx: Remove unnecessary null check
2019-07-30 12:12:59 -04:00
arcmsr
treewide: Add SPDX license identifier - Makefile/Kconfig
2019-05-21 10:50:46 +02:00
arm
scsi: fas216: Mark expected switch fall-throughs
2019-08-12 21:54:03 -04:00
be2iscsi
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 338
2019-06-05 17:37:07 +02:00
bfa
scsi: bfa: release allocated memory in case of error
2020-01-14 20:08:37 +01:00
bnx2fc
SCSI fixes on 20191004
2019-10-05 12:53:27 -07:00
bnx2i
scsi: bnx2i: fix potential use after free
2020-01-23 08:22:58 +01:00
csiostor
scsi: csiostor: Don't enable IRQs too early
2020-01-04 19:16:47 +01:00
cxgbi
scsi: libcxgbi: fix NULL pointer dereference in cxgbi_device_destroy()
2020-01-17 19:49:03 +01:00
cxlflash
scsi: cxlflash: Mark expected switch fall-throughs
2019-07-30 15:58:28 -04:00
device_handler
SCSI fixes on 20191025
2019-10-25 20:11:33 -04:00
dpt
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
esas2r
scsi: esas2r: unlock on error in esas2r_nvram_read_direct()
2020-01-23 08:22:58 +01:00
fcoe
SCSI misc on 20190919
2019-09-21 10:50:15 -07:00
fnic
scsi: fnic: do not queue commands during fwreset
2020-02-05 21:22:49 +00:00
hisi_sas
scsi: hisi_sas: Return directly if init hardware failed
2020-01-23 08:22:58 +01:00
ibmvscsi
SCSI misc on 20190919
2019-09-21 10:50:15 -07:00
ibmvscsi_tgt
scsi: ibmvscsi_tgt: Mark expected switch fall-throughs
2019-07-30 15:59:53 -04:00
isci
scsi: libsas: aic94xx: hisi_sas: mvsas: pm8001: Use dev_is_expander()
2019-06-20 15:37:02 -04:00
libfc
scsi: fcoe: Embed fc_rport_priv in fcoe_rport structure
2019-07-29 21:12:35 -04:00
libsas
scsi: libsas: stop discovering if oob mode is disconnected
2020-01-09 10:19:46 +01:00
lpfc
scsi: lpfc: use hdwq assigned cpu for allocation
2020-01-23 08:23:01 +01:00
megaraid
SCSI misc on 20190919
2019-09-21 10:50:15 -07:00
mpt3sas
scsi: mpt3sas: Fix double free in attach error handling
2020-01-17 19:48:21 +01:00
mvsas
SCSI misc on 20190709
2019-07-11 15:14:01 -07:00
pcmcia
SCSI sg on 20190709
2019-07-11 15:17:41 -07:00
pm8001
scsi: pm80xx: Fix for SATA device discovery
2020-01-04 19:18:14 +01:00
qedf
SCSI fixes on 20191004
2019-10-05 12:53:27 -07:00
qedi
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2019-06-27 21:06:39 -07:00
qla2xxx
scsi: qla2xxx: fix rports not being mark as lost in sync fabric scan
2020-01-23 08:22:59 +01:00
qla4xxx
scsi: qla4xxx: fix double free bug
2020-01-23 08:22:58 +01:00
smartpqi
scsi: smartpqi: bump version
2019-08-29 18:31:39 -04:00
snic
sym53c8xx_2
scsi: sym53c8xx_2: remove redundant assignment to retv
2019-08-12 21:58:07 -04:00
ufs
scsi: ufs: delete redundant function ufshcd_def_desc_sizes()
2020-01-26 10:01:05 +01:00
.gitignore
3w-9xxx.c
3w-9xxx.h
3w-sas.c
3w-sas.h
3w-xxxx.c
3w-xxxx.h
53c700.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61
2019-05-24 17:36:45 +02:00
53c700.h
53c700.scr
53c700_d.h_shipped
a100u2w.c
a100u2w.h
a2091.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
a2091.h
a3000.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
a3000.h
a4000t.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
advansys.c
SCSI sg on 20190709
2019-07-11 15:17:41 -07:00
aha152x.c
SCSI sg on 20190709
2019-07-11 15:17:41 -07:00
aha152x.h
aha1542.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
aha1542.h
aha1740.c
aha1740.h
am53c974.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
atari_scsi.c
scsi: atari_scsi: sun3_scsi: Set sg_tablesize to 1 instead of SG_NONE
2020-01-04 19:18:10 +01:00
atp870u.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
atp870u.h
BusLogic.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 388
2019-06-05 17:37:11 +02:00
BusLogic.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 388
2019-06-05 17:37:11 +02:00
bvme6000_scsi.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
ch.c
scsi: ch: Make it possible to open a ch device multiple times again
2019-10-09 23:39:35 -04:00
constants.c
dc395x.c
dc395x.h
dmx3191d.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61
2019-05-24 17:36:45 +02:00
dpt_i2o.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
dpti.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
esp_scsi.c
SCSI sg on 20190709
2019-07-11 15:17:41 -07:00
esp_scsi.h
scsi: esp: use sg helper to iterate over scatterlist
2019-06-20 15:21:33 -04:00
fdomain.c
scsi: fdomain: use BSTAT_{MSG|CMD|IO} in fdomain_work()
2019-07-30 12:17:28 -04:00
fdomain.h
scsi: fdomain: Add register definitions
2019-06-18 19:46:22 -04:00
fdomain_isa.c
scsi: fdomain_isa: use CFG1_IRQ_MASK
2019-07-30 12:18:24 -04:00
fdomain_pci.c
scsi: fdomain: Resurrect driver - PCI support
2019-06-18 19:46:18 -04:00
FlashPoint.c
g_NCR5380.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
gdth.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 148
2019-05-30 11:25:18 -07:00
gdth.h
gdth_ioctl.h
gdth_proc.c
gdth_proc.h
gvp11.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
gvp11.h
hosts.c
SCSI fixes on 20190720
2019-07-20 10:04:58 -07:00
hpsa.c
SCSI fixes on 20191025
2019-10-25 20:11:33 -04:00
hpsa.h
scsi: hpsa: correct device resets
2019-06-18 19:46:18 -04:00
hpsa_cmd.h
SCSI misc on 20190709
2019-07-11 15:14:01 -07:00
hptiop.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285
2019-06-05 17:36:37 +02:00
hptiop.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285
2019-06-05 17:36:37 +02:00
imm.c
SCSI sg on 20190709
2019-07-11 15:17:41 -07:00
imm.h
initio.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 18
2019-05-21 11:28:46 +02:00
initio.h
ipr.c
SCSI sg on 20190709
2019-07-11 15:17:41 -07:00
ipr.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156
2019-05-30 11:26:35 -07:00
ips.c
ips.h
iscsi_boot_sysfs.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 287
2019-06-05 17:36:37 +02:00
iscsi_tcp.c
scsi: iscsi: Don't send data to unbound connection
2020-01-04 19:18:17 +01:00
iscsi_tcp.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157
2019-05-30 11:26:37 -07:00
jazz_esp.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
Kconfig
SCSI fixes on 20191025
2019-10-25 20:11:33 -04:00
lasi700.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61
2019-05-24 17:36:45 +02:00
libiscsi.c
scsi: iscsi: Fix a potential deadlock in the timeout handler
2019-12-21 11:05:04 +01:00
libiscsi_tcp.c
SCSI misc on 20190709
2019-07-11 15:14:01 -07:00
mac53c94.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
mac53c94.h
mac_esp.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
mac_scsi.c
scsi: atari_scsi: sun3_scsi: Set sg_tablesize to 1 instead of SG_NONE
2020-01-04 19:18:10 +01:00
Makefile
scsi: remove pointless $(MODVERDIR)/$(obj)/53c700.ver
2019-07-17 22:39:27 +09:00
megaraid.c
scsi: megaraid: disable device when probe failed after enabled device
2019-09-23 23:09:42 -04:00
megaraid.h
mesh.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
mesh.h
mvme16x_scsi.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
mvme147.c
mvme147.h
mvumi.c
SCSI sg on 20190709
2019-07-11 15:17:41 -07:00
mvumi.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 167
2019-05-30 11:26:39 -07:00
myrb.c
myrb.h
myrs.c
scsi: myrs: Fix uninitialized variable
2019-05-20 10:56:43 -04:00
myrs.h
ncr53c8xx.c
scsi: ncr53c8xx: Mark expected switch fall-through
2019-08-07 21:53:23 -04:00
ncr53c8xx.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61
2019-05-24 17:36:45 +02:00
NCR5380.c
scsi: NCR5380: Add disconnect_mask module parameter
2020-01-04 19:18:16 +01:00
NCR5380.h
Revert "scsi: ncr5380: Increase register polling limit"
2019-06-20 15:37:02 -04:00
nsp32.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 118
2019-05-24 17:39:02 +02:00
nsp32.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 118
2019-05-24 17:39:02 +02:00
nsp32_debug.c
nsp32_io.h
pmcraid.c
scsi: pmcraid: Fix a typo - pcmraid --> pmcraid
2019-08-12 21:57:13 -04:00
pmcraid.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156
2019-05-30 11:26:35 -07:00
ppa.c
scsi: ppa: use sg helper to iterate over scatterlist
2019-06-20 15:21:33 -04:00
ppa.h
ps3rom.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 164
2019-05-30 11:26:38 -07:00
qla1280.c
qla1280: remove SGI SN2 support
2019-08-16 11:33:56 -07:00
qla1280.h
qla1280: remove SGI SN2 support
2019-08-16 11:33:56 -07:00
qlogicfas.c
qlogicfas408.c
scsi: qlogicfas408: clean up a couple of indentation issues
2019-03-19 17:11:37 -04:00
qlogicfas408.h
qlogicpti.c
scsi: qlogicpti: Mark expected switch fall-throughs
2019-08-07 21:32:53 -04:00
qlogicpti.h
raid_class.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 437
2019-06-05 17:37:17 +02:00
script_asm.pl
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61
2019-05-24 17:36:45 +02:00
scsi.c
SCSI misc on 20190709
2019-07-11 15:14:01 -07:00
scsi.h
scsi_common.c
scsi_debug.c
scsi: scsi_debug: num_tgts must be >= 0
2020-01-04 19:18:15 +01:00
scsi_debugfs.c
scsi: scsi_debugfs: Use for_each_set_bit to simplify code
2019-07-30 12:42:55 -04:00
scsi_debugfs.h
scsi: core: add SPDX tags to scsi midlayer files missing licensing information
2019-05-21 06:16:21 -04:00
scsi_devinfo.c
scsi: devinfo: BLIST_TRY_VPD_PAGES for SanDisk Cruzer Blade
2019-07-11 20:39:22 -04:00
scsi_dh.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156
2019-05-30 11:26:35 -07:00
scsi_error.c
scsi: core: save/restore command resid for error handling
2019-10-03 21:43:04 -04:00
scsi_ioctl.c
scsi: core: add SPDX tags to scsi midlayer files missing licensing information
2019-05-21 06:16:21 -04:00
scsi_lib.c
SCSI fixes on 20191111
2019-11-11 09:14:36 -08:00
scsi_lib_dma.c
scsi_logging.c
scsi: core: Reduce memory required for SCSI logging
2019-08-07 21:47:29 -04:00
scsi_logging.h
scsi_netlink.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156
2019-05-30 11:26:35 -07:00
scsi_pm.c
scsi: core: remove dummy q->dev check
2019-09-12 07:11:58 -06:00
scsi_priv.h
scsi: sd: Rely on the driver core for asynchronous probing
2019-06-18 19:46:17 -04:00
scsi_proc.c
drivers: Add generic helper to match any device
2019-07-30 13:07:42 +02:00
scsi_sas_internal.h
scsi_scan.c
scsi: core: map PQ=1, PDT=other values to SCSI_SCAN_TARGET_PRESENT
2019-04-15 22:25:00 -04:00
scsi_sysctl.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 209
2019-05-30 11:29:53 -07:00
scsi_sysfs.c
scsi: core: try to get module before removing device
2019-10-17 21:57:09 -04:00
scsi_trace.c
scsi: core: scsi_trace: Use get_unaligned_be*()
2020-01-23 08:22:59 +01:00
scsi_transport_api.h
scsi_transport_fc.c
SCSI misc on 20190709
2019-07-11 15:14:01 -07:00
scsi_transport_iscsi.c
scsi: iscsi: Avoid potential deadlock in iscsi_if_rx func
2020-01-09 10:19:46 +01:00
scsi_transport_sas.c
scsi: scsi_transport_sas: Fix memory leak when removing devices
2020-01-23 08:22:58 +01:00
scsi_transport_spi.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156
2019-05-30 11:26:35 -07:00
scsi_transport_srp.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 502
2019-06-19 17:09:56 +02:00
scsicam.c
sd.c
scsi: sd: enable compat ioctls for sed-opal
2020-01-17 19:48:51 +01:00
sd.h
scsi: implement REQ_OP_ZONE_RESET_ALL
2019-08-04 21:41:29 -06:00
sd_dif.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 410
2019-06-05 17:37:14 +02:00
sd_zbc.c
scsi: sd_zbc: Fix sd_zbc_complete()
2019-11-05 23:17:53 -05:00
sense_codes.h
ses.c
SCSI misc on 20190709
2019-07-11 15:14:01 -07:00
sg.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 45
2019-05-24 17:27:12 +02:00
sgiwd93.c
sim710.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61
2019-05-24 17:36:45 +02:00
sni_53c710.c
scsi: sni_53c710: fix compilation error
2019-10-09 23:35:42 -04:00
sr.c
scsi: sr: add a SPDX tag to sr.c
2019-05-21 06:16:23 -04:00
sr.h
sr_ioctl.c
sr_vendor.c
st.c
SCSI misc on 20190709
2019-07-11 15:14:01 -07:00
st.h
st_options.h
stex.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
storvsc_drv.c
scsi: storvsc: Correctly set number of hardware queues for IDE disk
2020-01-23 08:22:38 +01:00
sun3_scsi.c
scsi: atari_scsi: sun3_scsi: Set sg_tablesize to 1 instead of SG_NONE
2020-01-04 19:18:10 +01:00
sun3_scsi_vme.c
sun3x_esp.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
sun_esp.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
virtio_scsi.c
scsi: virtio_scsi: unplug LUNs when events missed
2019-09-10 22:10:17 -04:00
vmw_pvscsi.c
SCSI sg on 20190709
2019-07-11 15:17:41 -07:00
vmw_pvscsi.h
wd33c93.c
scsi: wd33c93: Mark expected switch fall-through
2019-08-07 21:35:59 -04:00
wd33c93.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 118
2019-05-24 17:39:02 +02:00
wd719x.c
SCSI misc on 20190709
2019-07-11 15:14:01 -07:00
wd719x.h
xen-scsifront.c
zalon.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
zorro7xx.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
zorro_esp.c
scsi: zorro_esp: Limit DMA transfers to 65536 bytes (except on Fastlane)
2020-01-04 19:17:37 +01:00