android_kernel_motorola_sm6375/drivers/scsi
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Mahesh Rajashekhara bc6f609401 scsi: smartpqi: Fix DMA direction for RAID requests
[ Upstream commit 69695aeaa6621bc49cdd7a8e5a8d1042461e496e ]

Correct a SOP READ and WRITE DMA flags for some requests.

This update corrects DMA direction issues with SCSI commands removed from
the controller's internal lookup table.

Currently, SCSI READ BLOCK LIMITS (0x5) was removed from the controller
lookup table and exposed a DMA direction flag issue.

SCSI READ BLOCK LIMITS was recently removed from our controller lookup
table so the controller uses the respective IU flag field to set the DMA
data direction. Since the DMA direction is incorrect the FW never completes
the request causing a hang.

Some SCSI commands which use SCSI READ BLOCK LIMITS

      * sg_map
      * mt -f /dev/stX status

After updating controller firmware, users may notice their tape units
failing. This patch resolves the issue.

Also, the AIO path DMA direction is correct.

The DMA direction flag is a day-one bug with no reported BZ.

Fixes: 6c223761eb ("smartpqi: initial commit of Microsemi smartpqi driver")
Link: https://lore.kernel.org/r/165730605618.177165.9054223644512926624.stgit@brunhilda
Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
Reviewed-by: Scott Teel <scott.teel@microchip.com>
Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com>
Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@microchip.com>
Signed-off-by: Don Brace <don.brace@microchip.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-08-25 11:17:56 +02:00
..
aacraid
aic7xxx scsi: aic7xxx: Fix unintentional sign extension issue on left shift of u8 2021-07-25 14:35:12 +02:00
aic94xx scsi: libsas: Add LUN number check in .slave_alloc callback 2021-07-25 14:35:13 +02:00
arcmsr
arm
be2iscsi scsi: be2iscsi: Fix an error handling path in beiscsi_dev_probe() 2021-07-20 16:10:53 +02:00
bfa scsi: bfa: Replace snprintf() with sysfs_emit() 2022-04-15 14:18:32 +02:00
bnx2fc scsi: bnx2fc: Make bnx2fc_recv_frame() mp safe 2022-02-08 18:24:33 +01:00
bnx2i scsi: iscsi: Fix shost->max_id use 2021-07-20 16:10:43 +02:00
csiostor scsi: csiostor: Uninitialized data in csio_ln_vnp_read_cbfn() 2021-11-17 09:48:43 +01:00
cxgbi scsi: iscsi: Fix shost->max_id use 2021-07-20 16:10:43 +02:00
cxlflash
device_handler scsi: scsi_dh_rdac: Avoid crash during rdac_bus_attach() 2021-08-26 08:36:14 -04:00
dpt
esas2r
fcoe scsi: fcoe: Fix Wstringop-overflow warnings in fcoe_wwn_from_mac() 2022-06-14 18:11:40 +02:00
fnic scsi: fnic: Fix memleak in vnic_dev_init_devcmd2 2021-02-07 15:35:48 +01:00
hisi_sas scsi: hisi_sas: Change permission of parameter prot_mask 2022-04-15 14:18:14 +02:00
ibmvscsi scsi: ibmvfc: Fix invalid state machine BUG_ON() 2021-05-14 09:44:25 +02:00
ibmvscsi_tgt scsi: ibmvscsis: Increase INITIAL_SRP_LIMIT to 1024 2022-04-20 09:19:36 +02:00
isci scsi: libsas: Add LUN number check in .slave_alloc callback 2021-07-25 14:35:13 +02:00
libfc scsi: libfc: Fix use after free in fc_exch_abts_resp() 2022-04-15 14:18:34 +02:00
libsas scsi: libsas: Fix sas_ata_qc_issue() handling of NCQ NON DATA commands 2022-04-15 14:18:00 +02:00
lpfc scsi: lpfc: Allow reduced polling rate for nvme_admin_async_event cmd completion 2022-06-22 14:11:20 +02:00
megaraid scsi: megaraid_sas: Target with invalid LUN ID is deleted during scan 2022-04-20 09:19:37 +02:00
mpt3sas scsi: mpt3sas: Fix kernel panic during drive powercycle test 2021-12-01 09:23:32 +01:00
mvsas scsi: mvsas: Add PCI ID of RocketRaid 2640 2022-04-20 09:19:37 +02:00
pcmcia scsi: fdomain: Fix error return code in fdomain_probe() 2021-09-22 12:26:24 +02:00
pm8001 scsi: pm8001: Fix pm8001_mpi_task_abort_resp() 2022-04-15 14:18:33 +02:00
qedf scsi: qedf: Fix refcount issue when LOGO is received during TMF 2022-02-16 12:52:48 +01:00
qedi scsi: qedi: Fix failed disconnect handling 2022-04-27 13:50:48 +02:00
qla2xxx scsi: Revert "scsi: qla2xxx: Fix disk failure to rediscover" 2022-08-25 11:17:17 +02:00
qla4xxx
smartpqi scsi: smartpqi: Fix DMA direction for RAID requests 2022-08-25 11:17:56 +02:00
snic
sym53c8xx_2
ufs scsi: ufs: host: Hold reference returned by of_parse_phandle() 2022-08-03 11:59:38 +02:00
.gitignore
3w-9xxx.c
3w-9xxx.h
3w-sas.c
3w-sas.h
3w-xxxx.c
3w-xxxx.h
53c700.c
53c700.h
53c700.scr
53c700_d.h_shipped
a100u2w.c
a100u2w.h
a2091.c
a2091.h
a3000.c
a3000.h
a4000t.c
advansys.c scsi: advansys: Fix kernel pointer leak 2021-11-26 10:47:15 +01:00
aha152x.c scsi: aha152x: Fix aha152x_setup() __setup handler return value 2022-04-15 14:18:34 +02:00
aha152x.h
aha1542.c
aha1542.h
aha1740.c
aha1740.h
am53c974.c
atari_scsi.c
atp870u.c
atp870u.h
BusLogic.c scsi: BusLogic: Fix missing pr_cont() use 2021-09-22 12:26:37 +02:00
BusLogic.h scsi: BusLogic: Fix 64-bit system enumeration error for Buslogic 2021-06-03 08:59:11 +02:00
bvme6000_scsi.c
ch.c
constants.c
dc395x.c scsi: dc395x: Fix a missing check on list iterator 2022-06-14 18:11:46 +02:00
dc395x.h
dmx3191d.c
dpt_i2o.c
dpti.h
esp_scsi.c
esp_scsi.h
fdomain.c
fdomain.h
fdomain_isa.c
fdomain_pci.c
FlashPoint.c scsi: FlashPoint: Rename si_flags field 2021-07-14 16:53:41 +02:00
g_NCR5380.c
gdth.c
gdth.h
gdth_ioctl.h
gdth_proc.c
gdth_proc.h
gvp11.c
gvp11.h
hosts.c scsi: core: Fix shost->cmd_per_lun calculation in scsi_add_host_with_dma() 2021-10-27 09:54:29 +02:00
hpsa.c scsi: hpsa: Fix memory leak in hpsa_init_one() 2020-11-18 19:20:22 +01:00
hpsa.h
hpsa_cmd.h
hptiop.c
hptiop.h
imm.c
imm.h
initio.c
initio.h
ipr.c scsi: ipr: Fix missing/incorrect resource cleanup in error case 2022-06-22 14:11:20 +02:00
ipr.h
ips.c
ips.h
iscsi_boot_sysfs.c
iscsi_tcp.c
iscsi_tcp.h
jazz_esp.c scsi: jazz_esp: Add IRQ check 2021-05-14 09:44:25 +02:00
Kconfig
lasi700.c
libiscsi.c scsi: libiscsi: Fix UAF in iscsi_conn_get_param()/iscsi_conn_teardown() 2022-01-11 15:23:33 +01:00
libiscsi_tcp.c
mac53c94.c
mac53c94.h
mac_esp.c
mac_scsi.c
Makefile
megaraid.c scsi: megaraid: Fix error check return value of register_chrdev() 2022-06-14 18:11:26 +02:00
megaraid.h
mesh.c
mesh.h
mvme16x_scsi.c
mvme147.c
mvme147.h
mvumi.c scsi: mvumi: Fix error return in mvumi_io_attach() 2020-10-29 09:58:04 +01:00
mvumi.h
myrb.c scsi: myrb: Fix up null pointer access on myrb_cleanup() 2022-06-14 18:12:00 +02:00
myrb.h
myrs.c scsi: myrs: Fix crash in error case 2022-02-16 12:52:49 +01:00
myrs.h
ncr53c8xx.c
ncr53c8xx.h
NCR5380.c
NCR5380.h
nsp32.c
nsp32.h
nsp32_debug.c
nsp32_io.h
pmcraid.c scsi: pmcraid: Fix missing resource cleanup in error case 2022-06-22 14:11:20 +02:00
pmcraid.h
ppa.c
ppa.h
ps3rom.c
qla1280.c
qla1280.h
qlogicfas.c
qlogicfas408.c
qlogicfas408.h
qlogicpti.c
qlogicpti.h
raid_class.c
script_asm.pl
scsi.c scsi: core: Put LLD module refcnt after SCSI device is released 2021-11-06 13:59:44 +01:00
scsi.h
scsi_common.c
scsi_debug.c scsi: scsi_debug: Sanity check block descriptor length in resp_mode_select() 2021-12-22 09:29:40 +01:00
scsi_debugfs.c scsi: core: Show SCMD_LAST in text form 2022-01-27 09:19:52 +01:00
scsi_debugfs.h
scsi_devinfo.c scsi: scsi_devinfo: Add blacklist entry for HPE OPEN-V 2021-06-18 09:58:59 +02:00
scsi_dh.c
scsi_error.c
scsi_ioctl.c
scsi_lib.c scsi: core: Fix race between handling STS_RESOURCE and completion 2022-08-03 11:59:41 +02:00
scsi_lib_dma.c
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: core: Avoid printing an error if target_alloc() returns -ENXIO 2021-08-26 08:36:14 -04:00
scsi_sysctl.c
scsi_sysfs.c scsi: core: sysfs: Fix setting device state to SDEV_RUNNING 2021-12-01 09:23:33 +01:00
scsi_trace.c
scsi_transport_api.h
scsi_transport_fc.c
scsi_transport_iscsi.c scsi: iscsi: Unblock session then wake up error handler 2021-12-08 09:01:09 +01:00
scsi_transport_sas.c
scsi_transport_spi.c scsi: scsi_transport_spi: Set RQF_PM for domain validation commands 2021-01-12 20:16:09 +01:00
scsi_transport_srp.c scsi: scsi_transport_srp: Don't block target in SRP_PORT_LOST state 2021-04-21 12:56:14 +02:00
scsicam.c
sd.c scsi: sd: Free scsi_disk device via put_device() 2021-10-09 14:39:49 +02:00
sd.h
sd_dif.c
sd_zbc.c
sense_codes.h
ses.c scsi: ses: Fix unsigned comparison with less than zero 2021-10-17 10:42:34 +02:00
sg.c
sgiwd93.c
sim710.c
sni_53c710.c scsi: sni_53c710: Add IRQ check 2021-05-14 09:44:25 +02:00
sr.c scsi: sr: Don't use GFP_DMA 2022-01-27 09:19:48 +01:00
sr.h
sr_ioctl.c
sr_vendor.c scsi: sr: Don't use GFP_DMA 2022-01-27 09:19:48 +01:00
st.c scsi: st: Fix a use after free in st_open() 2021-04-07 14:47:39 +02:00
st.h
st_options.h
stex.c
storvsc_drv.c
sun3_scsi.c
sun3_scsi_vme.c
sun3x_esp.c scsi: sun3x_esp: Add IRQ check 2021-05-14 09:44:25 +02:00
sun_esp.c
virtio_scsi.c scsi: virtio_scsi: Fix spelling mistake "Unsupport" -> "Unsupported" 2021-10-17 10:42:34 +02:00
vmw_pvscsi.c scsi: vmw_pvscsi: Set residual data length conditionally 2022-01-05 12:37:46 +01:00
vmw_pvscsi.h scsi: vmw_pvscsi: Expand vcpuHint to 16 bits 2022-06-22 14:11:20 +02:00
wd33c93.c
wd33c93.h
wd719x.c
wd719x.h
xen-scsifront.c xen/scsifront: don't use gnttab_query_foreign_access() for mapped status 2022-03-11 11:22:39 +01:00
zalon.c
zorro7xx.c scsi: zorro7xx: Fix a resource leak in zorro7xx_remove_one() 2022-04-15 14:18:37 +02:00
zorro_esp.c