android_kernel_xiaomi_sm8450/drivers/scsi
Quinn Tran 61fa6a16bb scsi: qla2xxx: Flush mailbox commands on chip reset
[ Upstream commit 6d0b65569c0a10b27c49bacd8d25bcd406003533 ]

Fix race condition between Interrupt thread and Chip reset thread in trying
to flush the same mailbox. With the race condition, the "ha->mbx_intr_comp"
will get an extra complete() call. The extra complete call create erroneous
mailbox timeout condition when the next mailbox is sent where the mailbox
call does not wait for interrupt to arrive. Instead, it advances without
waiting.

Add lock protection around the check for mailbox completion.

Cc: stable@vger.kernel.org
Fixes: b2000805a9 ("scsi: qla2xxx: Flush mailbox commands on chip reset")
Signed-off-by: Quinn Tran <quinn.tran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Link: https://lore.kernel.org/r/20230821130045.34850-3-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-09-19 12:20:29 +02:00
..
aacraid scsi: aacraid: Improve compat_ioctl handlers 2020-12-30 11:53:02 +01:00
aic7xxx scsi: aic7xxx: Fix unintentional sign extension issue on left shift of u8 2021-07-25 14:36:16 +02:00
aic94xx scsi: libsas: Introduce more SAM status code aliases in enum exec_status 2023-09-19 12:20:16 +02:00
arcmsr scsi: arcmsr: Fix doorbell status being updated late on ARC-1886 2021-07-20 16:05:39 +02:00
arm SCSI misc on 20201013 2020-10-14 15:15:35 -07:00
be2iscsi scsi: be2iscsi: Add length check when parsing nlattrs 2023-09-19 12:20:17 +02:00
bfa scsi: bfa: Replace snprintf() with sysfs_emit() 2022-04-13 21:00:55 +02:00
bnx2fc scsi: bnx2fc: Make bnx2fc_recv_frame() mp safe 2022-02-08 18:30:39 +01:00
bnx2i scsi: iscsi: Rel ref after iscsi_lookup_endpoint() 2022-04-20 09:23:16 +02:00
csiostor scsi: csiostor: Uninitialized data in csio_ln_vnp_read_cbfn() 2021-11-18 14:04:18 +01:00
cxgbi scsi: iscsi: Rel ref after iscsi_lookup_endpoint() 2022-04-20 09:23:16 +02:00
cxlflash powerpc updates for 5.10 2020-10-16 12:21:15 -07:00
device_handler scsi: scsi_dh_alua: Fix memleak for 'qdata' in alua_activate() 2023-04-05 11:23:33 +02:00
dpt scsi: docs: convert dpti.txt to ReST 2020-03-11 23:07:59 -04:00
esas2r SCSI misc on 20201013 2020-10-14 15:15:35 -07:00
fcoe scsi: fcoe: Fix potential deadlock on &fip->ctlr_lock 2023-09-19 12:20:19 +02:00
fnic scsi: fnic: Fix memleak in vnic_dev_init_devcmd2 2021-02-07 15:37:14 +01:00
hisi_sas scsi: hisi_sas: Fix normally completed I/O analysed as failed 2023-09-19 12:20:16 +02:00
ibmvscsi scsi: ibmvfc: Avoid path failures during live migration 2022-12-02 17:39:58 +01:00
ibmvscsi_tgt scsi: ibmvscsis: Increase INITIAL_SRP_LIMIT to 1024 2022-04-20 09:23:21 +02:00
isci scsi: libsas: Introduce more SAM status code aliases in enum exec_status 2023-09-19 12:20:16 +02:00
libfc scsi: libfc: Fix use after free in fc_exch_abts_resp() 2022-04-13 21:00:59 +02:00
libsas scsi: libsas: Introduce more SAM status code aliases in enum exec_status 2023-09-19 12:20:16 +02:00
lpfc scsi: lpfc: Prevent lpfc_debugfs_lockstat_write() buffer overflow 2023-05-30 12:57:48 +01:00
megaraid scsi: megaraid_sas: Fix fw_crash_buffer_show() 2023-04-26 11:27:37 +02:00
mpt3sas scsi: mpt3sas: Perform additional retries if doorbell read returns 0 2023-09-19 12:20:22 +02:00
mvsas scsi: libsas: Introduce more SAM status code aliases in enum exec_status 2023-09-19 12:20:16 +02:00
pcmcia scsi: fdomain: Fix error return code in fdomain_probe() 2021-09-18 13:40:14 +02:00
pm8001 scsi: libsas: Introduce more SAM status code aliases in enum exec_status 2023-09-19 12:20:16 +02:00
qedf scsi: qedf: Do not touch __user pointer in qedf_dbg_fp_int_cmd_read() directly 2023-09-19 12:20:18 +02:00
qedi scsi: qedi: Fix potential deadlock on &qedi_percpu->p_work_lock 2023-09-19 12:20:05 +02:00
qla2xxx scsi: qla2xxx: Flush mailbox commands on chip reset 2023-09-19 12:20:29 +02:00
qla4xxx scsi: qla4xxx: Add length check when parsing nlattrs 2023-09-19 12:20:17 +02:00
smartpqi scsi: smartpqi: Fix DMA direction for RAID requests 2022-08-21 15:15:59 +02:00
snic scsi: snic: Fix double free in snic_tgt_create() 2023-08-30 16:23:18 +02:00
sym53c8xx_2 SCSI misc on 20201023 2020-10-23 16:19:02 -07:00
ufs scsi: ufs: core: Add soft dependency on governor_simpleondemand 2023-04-05 11:23:38 +02:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
3w-9xxx.c scsi: 3w-9xxx: Avoid disabling device if failing to enable it 2022-10-26 13:25:52 +02:00
3w-9xxx.h
3w-sas.c
3w-sas.h
3w-xxxx.c scsi: 3w-xxxx: Add error handling for initialization failure in tw_probe() 2023-07-27 08:43:56 +02:00
3w-xxxx.h
53c700_d.h_shipped
53c700.c scsi: 53c700: Check that command slot is not NULL 2023-08-16 18:21:03 +02:00
53c700.h 53c700: improve non-coherent DMA handling 2020-09-25 06:20:43 +02:00
53c700.scr
a100u2w.c
a100u2w.h
a2091.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
a2091.h
a3000.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
a3000.h
a4000t.c
advansys.c scsi: advansys: Fix kernel pointer leak 2021-11-26 10:39:10 +01:00
aha152x.c scsi: aha152x: Fix aha152x_setup() __setup handler return value 2022-04-13 21:00:58 +02:00
aha152x.h
aha1542.c
aha1542.h
aha1740.c scsi: aha1740: Fix an errro handling path in aha1740_probe() 2020-03-26 21:10:53 -04:00
aha1740.h
am53c974.c
atari_scsi.c scsi: atari_scsi: sun3_scsi: Set sg_tablesize to 1 instead of SG_NONE 2019-11-12 22:21:34 -05:00
atp870u.c scsi: core: Clean up SG_NONE 2019-11-12 22:21:35 -05:00
atp870u.h
BusLogic.c scsi: BusLogic: Fix missing pr_cont() use 2021-09-18 13:40:35 +02:00
BusLogic.h scsi: BusLogic: Fix 64-bit system enumeration error for Buslogic 2021-06-03 09:00:43 +02:00
bvme6000_scsi.c
ch.c scsi: ch: remove ch_mutex() 2020-02-24 14:54:25 -05:00
constants.c scsi: core: Add DID_ALLOC_FAILURE and DID_MEDIUM_ERROR to hostbyte_table 2020-04-01 22:03:04 -04:00
dc395x.c scsi: dc395x: Fix a missing check on list iterator 2022-06-09 10:21:24 +02:00
dc395x.h
dmx3191d.c
dpt_i2o.c scsi: dpt_i2o: Do not process completions with invalid addresses 2023-06-09 10:30:18 +02:00
dpti.h scsi: dpt_i2o: Remove broken pass-through ioctl (I2OUSERCMD) 2023-06-09 10:30:18 +02:00
esp_scsi.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
esp_scsi.h scsi: esp_scsi: Add support for FSC chip 2019-12-19 22:08:51 -05:00
fdomain_isa.c scsi: fdomain_isa: Merge branches in fdomain_isa_match() 2020-09-02 22:49:07 -04:00
fdomain_pci.c
fdomain.c
fdomain.h scsi: fdomain: Mark 'fdomain_pm_ops' as __maybe_unused 2020-07-08 01:12:44 -04:00
FlashPoint.c scsi: FlashPoint: Rename si_flags field 2021-07-14 16:56:40 +02:00
g_NCR5380.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
gdth_ioctl.h
gdth_proc.c scsi: gdth: Use scnprintf() for avoiding potential buffer overflow 2020-03-17 13:36:10 -04:00
gdth_proc.h
gdth.c scsi: gdth: Make option_setup() static 2020-10-07 21:48:28 -04:00
gdth.h
gvp11.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
gvp11.h
hosts.c scsi: core: Use 32-bit hostnum in scsi_host_lookup() 2023-09-19 12:20:19 +02:00
hpsa_cmd.h scsi: hpsa: Update copyright 2020-09-02 22:49:06 -04:00
hpsa.c scsi: hpsa: Fix allocation size for scsi_host_alloc() 2023-02-01 08:23:21 +01:00
hpsa.h scsi: hpsa: Update copyright 2020-09-02 22:49:06 -04:00
hptiop.c
hptiop.h
imm.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
imm.h
initio.c scsi: initio: Use module_pci_driver() to simplify the code 2020-10-07 21:48:28 -04:00
initio.h
ipr.c scsi: ipr: Work around fortify-string warning 2023-03-11 16:40:14 +01:00
ipr.h scsi: ipr: Fix struct packed-not-aligned issues 2020-07-15 17:26:58 -04:00
ips.c scsi: ips: Convert strnlen() to memcpy() since result should not be NUL terminated 2020-07-24 22:32:00 -04:00
ips.h
iscsi_boot_sysfs.c scsi: iscsi: Fix reference count leak in iscsi_boot_create_kobj 2020-06-02 21:23:47 -04:00
iscsi_tcp.c scsi: iscsi_tcp: Check that sock is valid before iscsi_set_param() 2023-04-20 12:10:23 +02:00
iscsi_tcp.h scsi: iscsi: iscsi_tcp: Fix null-ptr-deref while calling getpeername() 2022-10-26 13:25:37 +02:00
jazz_esp.c scsi: jazz_esp: Add IRQ check 2021-05-14 09:50:27 +02:00
Kconfig scsi: dpt_i2o: Do not process completions with invalid addresses 2023-06-09 10:30:18 +02:00
lasi700.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
libiscsi_tcp.c scsi: libiscsi: use sendpage_ok() in iscsi_tcp_segment_map() 2020-10-02 15:27:08 -07:00
libiscsi.c scsi: iscsi: Stop queueing during ep_disconnect 2022-04-20 09:23:15 +02:00
mac53c94.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
mac53c94.h
mac_esp.c scsi: mac_esp: Use module_platform_driver to simplify the code 2020-10-02 21:52:53 -04:00
mac_scsi.c scsi: atari_scsi: sun3_scsi: Set sg_tablesize to 1 instead of SG_NONE 2019-11-12 22:21:34 -05:00
Makefile
megaraid.c scsi: megaraid: Fix mega_cmd_done() CMDID_INT_CMDS 2023-05-17 11:47:49 +02:00
megaraid.h
mesh.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
mesh.h
mvme16x_scsi.c
mvme147.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
mvme147.h
mvumi.c scsi: mvumi: Fix error return in mvumi_io_attach() 2020-10-02 21:42:22 -04:00
mvumi.h scsi: Replace zero-length array with flexible-array member 2020-03-11 23:07:56 -04:00
myrb.c scsi: myrb: Fix up null pointer access on myrb_cleanup() 2022-06-14 18:32:43 +02:00
myrb.h scsi: mylex: Use the correct style for SPDX License Identifier 2020-01-02 21:57:44 -05:00
myrs.c scsi: myrs: Fix crash in error case 2022-02-16 12:54:20 +01:00
myrs.h scsi: mylex: Use the correct style for SPDX License Identifier 2020-01-02 21:57:44 -05:00
ncr53c8xx.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
ncr53c8xx.h
NCR5380.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
NCR5380.h
nsp32_debug.c
nsp32_io.h
nsp32.c scsi: nsp32: Remove unneeded semicolon 2020-09-15 17:34:18 -04:00
nsp32.h
pmcraid.c scsi: pmcraid: Fix missing resource cleanup in error case 2022-06-22 14:13:15 +02:00
pmcraid.h scsi: Replace zero-length array with flexible-array member 2020-03-11 23:07:56 -04:00
ppa.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
ppa.h
ps3rom.c
qla1280.c scsi: qla1280: Remove set but not used variable in qla1280_status_entry() 2020-09-09 22:37:48 -04:00
qla1280.h scsi: qla1280: Fix dma firmware download, if dma address is 64bit 2020-01-15 23:09:11 -05:00
qlogicfas408.c
qlogicfas408.h
qlogicfas.c
qlogicpti.c SCSI misc on 20201013 2020-10-14 15:15:35 -07:00
qlogicpti.h
raid_class.c scsi: core: raid_class: Remove raid_component_add() 2023-08-30 16:23:18 +02:00
script_asm.pl
scsi_common.c
scsi_debug.c scsi: scsi_debug: Fix possible name leak in sdebug_add_host_helper() 2023-01-14 10:15:52 +01:00
scsi_debugfs.c scsi: core: Show SCMD_LAST in text form 2022-01-27 10:54:29 +01:00
scsi_debugfs.h
scsi_devinfo.c scsi: core: Add BLIST_SKIP_VPD_PAGES for SKhynix H28U74301AMR 2023-04-05 11:23:39 +02:00
scsi_dh.c scsi: dh: Add Fujitsu device to devinfo and dh lists 2020-07-08 01:16:23 -04:00
scsi_error.c scsi: core: Fix a race between scsi_done() and scsi_timeout() 2023-01-14 10:15:46 +01:00
scsi_ioctl.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
scsi_lib_dma.c
scsi_lib.c scsi: core: Decrease scsi_device's iorequest_cnt if dispatch failed 2023-06-09 10:30:12 +02:00
scsi_logging.c scsi: core: Delete unnecessary buffer allocation for every loop iteration 2020-07-24 22:09:57 -04:00
scsi_logging.h scsi: core: Fix a compiler warning triggered by the SCSI logging code 2019-12-19 22:08:54 -05:00
scsi_netlink.c
scsi_pm.c scsi: block: pm: Always set request queue runtime active in blk_post_runtime_resume() 2022-01-27 10:54:08 +01:00
scsi_priv.h scsi: core: Add limitless cmd retry support 2020-10-02 18:53:06 -04:00
scsi_proc.c scsi: core: Fix legacy /proc parsing buffer overflow 2023-08-16 18:21:03 +02:00
scsi_sas_internal.h
scsi_scan.c scsi: Revert "scsi: core: map PQ=1, PDT=other values to SCSI_SCAN_TARGET_PRESENT" 2023-02-15 17:22:11 +01:00
scsi_sysctl.c
scsi_sysfs.c scsi: core: Restrict legal sdev_state transitions via sysfs 2022-11-10 18:14:22 +01:00
scsi_trace.c scsi: scsi_trace: Use get_unaligned_be24() 2020-03-16 22:08:36 -04:00
scsi_transport_api.h
scsi_transport_fc.c scsi: fc: Add 256GBit speed setting to SCSI FC transport 2020-09-02 22:49:07 -04:00
scsi_transport_iscsi.c scsi: iscsi: Add strlen() check in iscsi_if_set{_host}_param() 2023-09-19 12:20:17 +02:00
scsi_transport_sas.c scsi: scsi_transport_sas: Fix error handling in sas_phy_add() 2022-12-02 17:39:56 +01:00
scsi_transport_spi.c scsi: scsi_transport_spi: Set RQF_PM for domain validation commands 2021-01-12 20:18:15 +01:00
scsi_transport_srp.c scsi: scsi_transport_srp: Don't block target in SRP_PORT_LOST state 2021-04-21 13:00:52 +02:00
scsi.c scsi: core: Improve scsi_vpd_inquiry() checks 2023-04-26 11:27:37 +02:00
scsi.h
scsicam.c block: move struct partition out of genhd.h 2020-03-24 07:57:08 -06:00
sd_dif.c
sd_zbc.c scsi: sd_zbc: Ensure buffer size is aligned to SECTOR_SIZE 2021-09-30 10:11:01 +02:00
sd.c scsi: sd: Revert "scsi: sd: Remove a local variable" 2022-11-03 23:57:54 +09:00
sd.h SCSI misc on 20201013 2020-10-14 15:15:35 -07:00
sense_codes.h scsi: core: Update additional sense codes list 2020-09-15 20:28:06 -04:00
ses.c scsi: ses: Handle enclosure with just a primary component gracefully 2023-04-20 12:10:27 +02:00
sg.c scsi: sg: Allow waiting for commands to complete on removed device 2022-08-21 15:15:24 +02:00
sgiwd93.c sgiwd93: convert to dma_alloc_noncoherent 2020-09-25 06:20:44 +02:00
sim710.c
sni_53c710.c scsi: sni_53c710: Add IRQ check 2021-05-14 09:50:27 +02:00
sr_ioctl.c
sr_vendor.c scsi: sr: Don't use GFP_DMA 2022-01-27 10:54:23 +01:00
sr.c scsi: sr: Don't use GFP_DMA 2022-01-27 10:54:23 +01:00
sr.h scsi: sr: get rid of sr global mutex 2020-02-24 15:01:57 -05:00
st_options.h
st.c scsi: st: Fix a use after free in st_open() 2021-04-07 15:00:05 +02:00
st.h
stex.c scsi: stex: Fix gcc 13 warnings 2023-06-09 10:30:14 +02:00
storvsc_drv.c scsi: storvsc: Always set no_report_opcodes 2023-09-19 12:20:06 +02:00
sun3_scsi_vme.c
sun3_scsi.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
sun3x_esp.c scsi: sun3x_esp: Add IRQ check 2021-05-14 09:50:27 +02:00
sun_esp.c scsi: sun_esp: Use module_platform_driver to simplify the code 2020-10-02 21:52:55 -04:00
virtio_scsi.c scsi: virtio_scsi: Fix spelling mistake "Unsupport" -> "Unsupported" 2021-10-17 10:43:33 +02:00
vmw_pvscsi.c scsi: vmw_pvscsi: Set residual data length conditionally 2022-01-05 12:40:33 +01:00
vmw_pvscsi.h scsi: vmw_pvscsi: Expand vcpuHint to 16 bits 2022-06-22 14:13:14 +02:00
wd33c93.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
wd33c93.h
wd719x.c
wd719x.h
xen-scsifront.c xen/scsifront: don't use gnttab_query_foreign_access() for mapped status 2022-03-11 12:11:54 +01:00
zalon.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
zorro7xx.c scsi: zorro7xx: Fix a resource leak in zorro7xx_remove_one() 2022-04-13 21:01:04 +02:00
zorro_esp.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00