linux_dsm_epyc7002/drivers/scsi
Subhash Jadavani 38135535dc scsi: ufs: add reference counting for scsi block requests
Currently we call the scsi_block_requests()/scsi_unblock_requests()
whenever we want to block/unblock scsi requests but as there is no
reference counting, nesting of these calls could leave us in undesired
state sometime. Consider following call flow sequence:

1. func1() calls scsi_block_requests() but calls func2() before
   calling scsi_unblock_requests()
2. func2() calls scsi_block_requests()
3. func2() calls scsi_unblock_requests()
4. func1() calls scsi_unblock_requests()

As there is no reference counting, we will have scsi requests unblocked
after #3 instead of it to be unblocked only after #4. Though we may not
have failures seen with this, we might run into some failures in future.
Better solution would be to fix this by adding reference counting.

Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
Signed-off-by: Can Guo <cang@codeaurora.org>
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2018-05-18 12:20:48 -04:00
..
aacraid scsi: aacraid: Insure command thread is not recursively stopped 2018-04-09 21:08:30 -04:00
aic7xxx Merge branch 'fixes' into misc 2018-04-03 17:38:39 -07:00
aic94xx
arcmsr scsi: arcmsr: Change driver version to v1.40.00.05-20180309 2018-03-21 18:46:30 -04:00
arm
be2iscsi
bfa scsi: bfa: remove VLA 2018-03-15 00:35:43 -04:00
bnx2fc
bnx2i
csiostor Merge branch 'fixes' into misc 2018-04-03 17:38:39 -07:00
cxgbi scsi: cxgb4i: silence overflow warning in t4_uld_rx_handler() 2018-04-09 21:32:45 -04:00
cxlflash scsi: cxlflash: Isolate external module dependencies 2018-05-18 11:22:10 -04:00
device_handler Merge branch 'fixes' into misc 2018-04-03 17:38:39 -07:00
dpt
esas2r scsi: esas2r: fix spelling mistake: "requestss" -> "requests" 2018-05-14 22:40:30 -04:00
fcoe
fnic
hisi_sas scsi: hisi_sas: add check of device in hisi_sas_task_exec() 2018-05-18 11:22:09 -04:00
ibmvscsi scsi: ibmvfc: Avoid unnecessary port relogin 2018-03-15 00:52:33 -04:00
ibmvscsi_tgt
isci scsi: isci: remove redundant check on in_connection_align_insertion_frequency 2018-05-01 23:31:45 -04:00
libfc scsi: libfc: remove redundant initialization of 'disc' 2018-02-13 21:37:01 -05:00
libsas scsi: libsas: add transport class for ATA devices 2018-04-18 19:32:51 -04:00
lpfc scsi: lpfc: fix spelling mistakes: "mabilbox" and "maibox" 2018-05-08 01:26:44 -04:00
megaraid scsi: megaraid_sas: fix spelling mistake: "disbale" -> "disable" 2018-05-01 23:35:43 -04:00
mpt3sas scsi: mpt3sas: Update driver version "25.100.00.00" 2018-05-08 00:40:05 -04:00
mvsas scsi: mvsas: fix wrong endianness of sgpio api 2018-03-01 21:07:48 -05:00
osd scsi: libosd: Remove VLA usage 2018-05-14 22:32:45 -04:00
pcmcia scsi: remove the fdomain and fdomain_cs drivers 2018-03-19 22:54:47 -04:00
pm8001
qedf scsi: qedf: Update version number to 8.33.16.20 2018-05-08 00:57:11 -04:00
qedi SCSI for-linus on 20180404 2018-04-05 15:05:53 -07:00
qla2xxx scsi: qla2xxx: remove the unused tcm_qla2xxx_cmd_wq 2018-05-08 01:24:25 -04:00
qla4xxx Merge branch 'fixes' into misc 2018-04-03 17:38:39 -07:00
smartpqi SCSI for-linus on 20180404 2018-04-05 15:05:53 -07:00
snic
sym53c8xx_2 treewide: Align function definition open/close braces 2018-03-26 11:13:09 +02:00
ufs scsi: ufs: add reference counting for scsi block requests 2018-05-18 12:20:48 -04:00
.gitignore
3w-9xxx.c scsi: 3w-9xxx: fix a missing-check bug 2018-05-08 01:32:18 -04:00
3w-9xxx.h
3w-sas.c
3w-sas.h
3w-xxxx.c scsi: 3w-xxxx: fix a missing-check bug 2018-05-08 01:32:43 -04:00
3w-xxxx.h
53c700_d.h_shipped
53c700.c
53c700.h
53c700.scr
a100u2w.c scsi: a100u2w: Use module_pci_driver 2018-05-01 23:31:40 -04:00
a100u2w.h
a2091.c
a2091.h
a3000.c
a3000.h
a4000t.c
advansys.c
aha152x.c
aha152x.h
aha1542.c
aha1542.h
aha1740.c scsi: aha1740: stop using scsi_unregister 2018-03-15 00:26:54 -04:00
aha1740.h
am53c974.c scsi: am53c974: Use module_pci_driver 2018-05-01 23:29:41 -04:00
atari_scsi.c
atp870u.c scsi: atp870u: 64 bit bug in atp885_init() 2018-03-01 21:10:36 -05:00
atp870u.h
BusLogic.c
BusLogic.h
bvme6000_scsi.c
ch.c
constants.c
dc395x.c
dc395x.h
dmx3191d.c
dpt_i2o.c scsi: dpt_i2o: Remove VLA usage 2018-05-18 12:03:51 -04:00
dpti.h scsi: dpt_i2o: stop using scsi_unregister 2018-03-15 00:25:37 -04:00
esp_scsi.c
esp_scsi.h
FlashPoint.c
g_NCR5380.c
gdth_ioctl.h
gdth_proc.c
gdth_proc.h
gdth.c
gdth.h block: Move SECTOR_SIZE and SECTOR_SHIFT definitions into <linux/blkdev.h> 2018-03-17 14:45:23 -06:00
gvp11.c
gvp11.h
hosts.c scsi: core: remove redundant assignment to shost->use_blk_mq 2018-04-09 16:34:41 -04:00
hpsa_cmd.h
hpsa.c Merge branch 'fixes' into misc 2018-04-03 17:38:39 -07:00
hpsa.h scsi: hpsa: fix selection of reply queue 2018-03-14 23:31:13 -04:00
hptiop.c
hptiop.h
imm.c
imm.h
initio.c
initio.h
ipr.c scsi: ipr: new IOASC update 2018-05-14 22:42:53 -04:00
ipr.h scsi: ipr: Use sgl_alloc_order() and sgl_free_order() 2018-02-13 21:49:14 -05:00
ips.c scsi: ips: fix firmware timestamps for 32-bit 2018-04-20 19:40:17 -04:00
ips.h scsi: ips: fix firmware timestamps for 32-bit 2018-04-20 19:40:17 -04:00
iscsi_boot_sysfs.c
iscsi_tcp.c scsi: iscsi_tcp: don't set a bounce limit 2018-04-19 00:00:44 -04:00
iscsi_tcp.h
jazz_esp.c scsi: jazz_esp, sun3x_esp: Pass struct device pointer in dma calls 2018-03-12 22:05:43 -04:00
Kconfig scsi: zorro_esp: New driver for Amiga Zorro NCR53C9x boards 2018-04-19 00:00:44 -04:00
lasi700.c
libiscsi_tcp.c
libiscsi.c
mac53c94.c
mac53c94.h
mac_esp.c
mac_scsi.c
Makefile scsi: devinfo: warn on undefined blist flags 2018-04-20 19:14:35 -04:00
megaraid.c scsi: megaraid: silence a static checker bug 2018-05-08 01:29:00 -04:00
megaraid.h
mesh.c
mesh.h
mvme16x_scsi.c
mvme147.c scsi: mvme147: stop using scsi_module.c 2018-03-19 22:54:47 -04:00
mvme147.h
mvumi.c scsi: mvumi: Using module_pci_driver 2018-04-20 19:40:11 -04:00
mvumi.h
ncr53c8xx.c
ncr53c8xx.h
NCR5380.c
NCR5380.h
NCR_D700.c
NCR_D700.h
NCR_Q720.c
NCR_Q720.h
nsp32_debug.c
nsp32_io.h
nsp32.c
nsp32.h
osst_detect.h
osst_options.h
osst.c
osst.h
pmcraid.c scsi: pmcraid: Use sgl_alloc_order() and sgl_free_order() 2018-02-13 21:49:15 -05:00
pmcraid.h scsi: pmcraid: Use sgl_alloc_order() and sgl_free_order() 2018-02-13 21:49:15 -05:00
ppa.c
ppa.h
ps3rom.c
qla1280.c
qla1280.h
qlogicfas408.c
qlogicfas408.h
qlogicfas.c
qlogicpti.c
qlogicpti.h
raid_class.c scsi: raid_class: Add 'JBOD' RAID level 2018-02-12 11:43:25 -05:00
script_asm.pl
scsi_common.c
scsi_debug.c SCSI for-linus on 20180404 2018-04-05 15:05:53 -07:00
scsi_debugfs.c scsi: devinfo: use const_ilog2 for array indices 2018-04-20 19:14:28 -04:00
scsi_debugfs.h
scsi_devinfo.c scsi: devinfo: BLIST_RETRY_ASC_C1 for Fujitsu ETERNUS 2018-04-20 19:14:36 -04:00
scsi_dh.c scsi: scsi_dh: replace too broad "TP9" string with the exact models 2018-04-18 19:34:08 -04:00
scsi_error.c scsi: devinfo: BLIST_RETRY_ASC_C1 for Fujitsu ETERNUS 2018-04-20 19:14:36 -04:00
scsi_ioctl.c
scsi_lib_dma.c
scsi_lib.c scsi: core: Make scsi_result_to_blk_status() recognize CONDITION MET 2018-04-09 21:31:37 -04:00
scsi_logging.c
scsi_logging.h
scsi_netlink.c
scsi_pm.c
scsi_priv.h
scsi_proc.c
scsi_sas_internal.h
scsi_scan.c
scsi_sysctl.c
scsi_sysfs.c scsi: devinfo: change blist_flag_t to 64bit 2018-04-20 19:14:35 -04:00
scsi_trace.c
scsi_transport_api.h
scsi_transport_fc.c
scsi_transport_iscsi.c
scsi_transport_sas.c scsi: scsi_transport_sas: don't bounce highmem pages for the smp handler 2018-05-01 23:11:15 -04:00
scsi_transport_spi.c scsi: scsi_transport_spi: make two const arrays static, shrinks object size 2018-02-15 18:20:14 -05:00
scsi_transport_srp.c
scsi_typedefs.h
scsi.c scsi: core: fix two wrong indentation cases 2018-02-27 22:26:12 -05:00
scsi.h
scsicam.c
sd_dif.c
sd_zbc.c scsi: sd_zbc: Let the SCSI core handle ILLEGAL REQUEST / ASC 0x21 2018-04-19 00:00:44 -04:00
sd.c for-4.17/block-20180402 2018-04-05 14:27:02 -07:00
sd.h scsi: sd_zbc: Change the type of the ZBC fields into u32 2018-04-19 00:00:44 -04:00
sense_codes.h
ses.c
sg.c scsi: sg: Change return type to vm_fault_t 2018-04-19 00:00:44 -04:00
sgiwd93.c
sim710.c
sni_53c710.c
sr_ioctl.c
sr_vendor.c
sr.c sr: get/drop reference to device in revalidate and check_events 2018-04-11 11:26:09 -06:00
sr.h
st_options.h
st.c scsi: st: Replace GFP_ATOMIC with GFP_KERNEL in new_tape_buffer 2018-04-20 19:14:37 -04:00
st.h
stex.c
storvsc_drv.c scsi: storvsc: Avoid allocating memory for temp cpumasks 2018-05-18 11:28:17 -04:00
sun3_scsi_vme.c
sun3_scsi.c
sun3x_esp.c scsi: jazz_esp, sun3x_esp: Pass struct device pointer in dma calls 2018-03-12 22:05:43 -04:00
sun_esp.c
virtio_scsi.c scsi: virtio_scsi: unify scsi_host_template 2018-03-14 23:31:13 -04:00
vmw_pvscsi.c
vmw_pvscsi.h
wd33c93.c
wd33c93.h
wd719x.c scsi: wd719x: Use module_pci_driver 2018-05-01 23:30:12 -04:00
wd719x.h
xen-scsifront.c
zalon.c
zorro7xx.c
zorro_esp.c scsi: zorro_esp: New driver for Amiga Zorro NCR53C9x boards 2018-04-19 00:00:44 -04:00