linux_dsm_epyc7002/drivers/scsi
Martin K. Petersen ea697a8bf5 scsi: sd: Fix optimal I/O size for devices that change reported values
Some USB bridge devices will return a default set of characteristics during
initialization. And then, once an attached drive has spun up, substitute
the actual parameters reported by the drive. According to the SCSI spec,
the device should return a UNIT ATTENTION in case any reported parameters
change. But in this case the change is made silently after a small window
where default values are reported.

Commit a83da8a450 ("scsi: sd: Optimal I/O size should be a multiple of
physical block size") validated the reported optimal I/O size against the
physical block size to overcome problems with devices reporting nonsensical
transfer sizes. However, this validation did not account for the fact that
aforementioned devices will return default values during a brief window
during spin-up. The subsequent change in reported characteristics would
invalidate the checking that had previously been performed.

Unset a previously configured optimal I/O size should the sanity checking
fail on subsequent revalidate attempts.

Link: https://lore.kernel.org/r/33fb522e-4f61-1b76-914f-c9e6a3553c9b@gmail.com
Cc: Bryan Gurney <bgurney@redhat.com>
Cc: <stable@vger.kernel.org>
Reported-by: Bernhard Sulzer <micraft.b@gmail.com>
Tested-by: Bernhard Sulzer <micraft.b@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2020-03-24 22:53:04 -04:00
..
aacraid treewide: Use sizeof_field() macro 2019-12-09 10:36:44 -08:00
aic7xxx SCSI misc on 20200129 2020-01-29 18:16:16 -08:00
aic94xx compat_ioctl: scsi: handle HDIO commands from drivers 2020-01-03 09:42:52 +01:00
arcmsr remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
arm
be2iscsi remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
bfa
bnx2fc remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
bnx2i remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
csiostor SCSI misc on 20200129 2020-01-29 18:16:16 -08:00
cxgbi SCSI fixes on 20191227 2019-12-27 17:28:41 -08:00
cxlflash SCSI misc on 20191130 2019-12-02 13:37:02 -08:00
device_handler
dpt
esas2r proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
fcoe
fnic scsi: fnic: do not queue commands during fwreset 2020-01-20 23:58:14 -05:00
hisi_sas scsi: hisi_sas: Rename hisi_sas_cq.pci_irq_mask 2020-01-20 19:31:14 -05:00
ibmvscsi
ibmvscsi_tgt scsi: ibmvscsi_tgt: remove set but not used variables 'iue' and 'sd' 2019-12-19 22:08:54 -05:00
isci compat_ioctl: scsi: handle HDIO commands from drivers 2020-01-03 09:42:52 +01:00
libfc scsi: libfc: free response frame from GPN_ID 2020-02-21 17:56:32 -05:00
libsas scsi: libsas: Tidy SAS address print format 2019-12-21 13:42:42 -05:00
lpfc scsi: lpfc: Make lpfc_defer_acc_rsp static 2020-01-10 01:23:47 -05:00
megaraid scsi: megaraid_sas: silence a warning 2020-02-12 19:13:48 -05:00
mpt3sas block, scsi: final compat_ioctl cleanup 2020-01-10 00:14:46 -05:00
mvsas compat_ioctl: scsi: handle HDIO commands from drivers 2020-01-03 09:42:52 +01:00
pcmcia remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
pm8001 scsi: pm80xx: fix spelling mistake "to" -> "too" 2020-01-30 10:31:47 -05:00
qedf
qedi
qla2xxx scsi: qla2xxx: Fix I/Os being passed down when FC device is being deleted 2020-03-17 12:29:13 -04:00
qla4xxx scsi: qla4xxx: Adjust indentation in qla4xxx_mem_free 2019-12-19 22:08:55 -05:00
smartpqi remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
snic
sym53c8xx_2 scsi: sym53c8xx: fix typos in comments 2019-12-19 22:08:54 -05:00
ufs scsi: ufs: Fix possible unclocked access to auto hibern8 timer register 2020-03-10 18:59:51 -04:00
.gitignore
3w-9xxx.c
3w-9xxx.h
3w-sas.c
3w-sas.h
3w-xxxx.c
3w-xxxx.h
53c700_d.h_shipped
53c700.c
53c700.h
53c700.scr
a100u2w.c
a100u2w.h
a2091.c
a2091.h
a3000.c
a3000.h
a4000t.c
advansys.c
aha152x.c
aha152x.h
aha1542.c
aha1542.h
aha1740.c
aha1740.h
am53c974.c
atari_scsi.c
atp870u.c
atp870u.h
BusLogic.c scsi: BusLogic: use %lX for unsigned long rather than %X 2020-01-15 22:19:49 -05:00
BusLogic.h
bvme6000_scsi.c
ch.c compat_ioctl: scsi: move ioctl handling into drivers 2020-01-03 09:42:32 +01:00
constants.c
dc395x.c
dc395x.h
dmx3191d.c
dpt_i2o.c
dpti.h
esp_scsi.c scsi: esp_scsi: Add support for FSC chip 2019-12-19 22:08:51 -05:00
esp_scsi.h scsi: esp_scsi: Add support for FSC chip 2019-12-19 22:08:51 -05:00
fdomain_isa.c
fdomain_pci.c
fdomain.c
fdomain.h
FlashPoint.c
g_NCR5380.c
gdth_ioctl.h
gdth_proc.c
gdth_proc.h
gdth.c
gdth.h
gvp11.c
gvp11.h
hosts.c
hpsa_cmd.h
hpsa.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
hpsa.h
hptiop.c
hptiop.h
imm.c
imm.h
initio.c scsi: initio: make initio_state_7() static 2019-12-19 22:08:54 -05:00
initio.h
ipr.c scsi: ipr: Fix softlockup when rescanning devices in petitboot 2020-03-10 22:34:24 -04:00
ipr.h scsi: ipr: Fix softlockup when rescanning devices in petitboot 2020-03-10 22:34:24 -04:00
ips.c
ips.h
iscsi_boot_sysfs.c
iscsi_tcp.c scsi: iscsi: Don't destroy session if there are outstanding connections 2020-01-15 22:48:34 -05:00
iscsi_tcp.h
jazz_esp.c
Kconfig block: Allow t10-pi to be modular 2020-01-06 20:59:04 -07:00
lasi700.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
libiscsi_tcp.c
libiscsi.c scsi: iscsi: Fix a potential deadlock in the timeout handler 2019-12-09 19:19:28 -05:00
mac53c94.c
mac53c94.h
mac_esp.c
mac_scsi.c
Makefile
megaraid.c
megaraid.h
mesh.c
mesh.h
mvme16x_scsi.c
mvme147.c
mvme147.h
mvumi.c
mvumi.h
myrb.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
myrb.h scsi: mylex: Use the correct style for SPDX License Identifier 2020-01-02 21:57:44 -05:00
myrs.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
myrs.h scsi: mylex: Use the correct style for SPDX License Identifier 2020-01-02 21:57:44 -05:00
ncr53c8xx.c
ncr53c8xx.h
NCR5380.c
NCR5380.h
nsp32_debug.c
nsp32_io.h
nsp32.c
nsp32.h
pmcraid.c
pmcraid.h
ppa.c
ppa.h
ps3rom.c
qla1280.c scsi: qla1280: Make checking for 64bit support consistent 2020-01-20 18:35:55 -05: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
qlogicpti.h
raid_class.c
script_asm.pl
scsi_common.c
scsi_debug.c
scsi_debugfs.c
scsi_debugfs.h
scsi_devinfo.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
scsi_dh.c
scsi_error.c
scsi_ioctl.c compat_ioctl: add scsi_compat_ioctl 2020-01-03 09:33:18 +01:00
scsi_lib_dma.c
scsi_lib.c scsi: core: Adjust DBD setting in MODE SENSE for caching mode page per LLD 2019-12-19 22:08:52 -05:00
scsi_logging.c
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_priv.h
scsi_proc.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
scsi_sas_internal.h
scsi_scan.c
scsi_sysctl.c
scsi_sysfs.c SCSI misc on 20191130 2019-12-02 13:37:02 -08:00
scsi_trace.c
scsi_transport_api.h
scsi_transport_fc.c
scsi_transport_iscsi.c scsi: iscsi: Fail session and connection on transport registration failure 2020-01-15 22:55:37 -05:00
scsi_transport_sas.c
scsi_transport_spi.c
scsi_transport_srp.c
scsi.c SCSI misc on 20191130 2019-12-02 13:37:02 -08:00
scsi.h
scsicam.c
sd_dif.c
sd_zbc.c scsi: sd_sbc: Fix sd_zbc_report_zones() 2020-02-24 12:50:32 -05:00
sd.c scsi: sd: Fix optimal I/O size for devices that change reported values 2020-03-24 22:53:04 -04:00
sd.h SCSI misc on 20191207 2019-12-08 12:23:42 -08:00
sense_codes.h
ses.c
sg.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
sgiwd93.c
sim710.c
sni_53c710.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
sr_ioctl.c
sr_vendor.c
sr.c scsi: compat_ioctl: cdrom: Replace .ioctl with .compat_ioctl in four appropriate places 2020-02-24 15:06:07 -05:00
sr.h
st_options.h
st.c compat_ioctl: scsi: move ioctl handling into drivers 2020-01-03 09:42:32 +01:00
st.h
stex.c
storvsc_drv.c scsi: storvsc: Correctly set number of hardware queues for IDE disk 2020-01-15 23:02:24 -05:00
sun3_scsi_vme.c
sun3_scsi.c
sun3x_esp.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
sun_esp.c
virtio_scsi.c
vmw_pvscsi.c scsi: vmw_pvscsi: Silence dma mapping errors 2019-12-19 22:42:44 -05:00
vmw_pvscsi.h
wd33c93.c
wd33c93.h
wd719x.c
wd719x.h
xen-scsifront.c
zalon.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
zorro7xx.c
zorro_esp.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00