linux-stable/drivers/scsi/smartpqi
Mike McGowen 297bdc540f scsi: smartpqi: Close write read holes
Insert a minimum 1 millisecond delay after writing to a register before
reading from it.

SIS and PQI registers that can be both written to and read from can return
stale data if read from too soon after having been written to.

There is no read/write ordering or hazard detection on the inbound path to
the MSGU from the PCIe bus, therefore reads could pass writes.

Link: https://lore.kernel.org/r/165730602555.177165.11181012469428348394.stgit@brunhilda
Reviewed-by: Scott Teel <scott.teel@microchip.com>
Signed-off-by: Mike McGowen <mike.mcgowen@microchip.com>
Co-developed-by: Kevin Barnett <kevin.barnett@microchip.com>
Signed-off-by: Kevin Barnett <kevin.barnett@microchip.com>
Signed-off-by: Don Brace <don.brace@microchip.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2022-07-13 23:42:03 -04:00
..
Kconfig scsi: smartpqi: Change Kconfig menu entry to Microchip 2021-07-19 22:00:56 -04:00
Makefile scsi: smartpqi: add spdx 2019-03-18 16:48:28 -04:00
smartpqi.h scsi: smartpqi: Shorten drive visibility after removal 2022-07-13 23:42:02 -04:00
smartpqi_init.c scsi: smartpqi: Add PCI IDs for ramaxel controllers 2022-07-13 23:42:02 -04:00
smartpqi_sas_transport.c scsi: smartpqi: Add extended report physical LUNs 2021-10-05 00:13:15 -04:00
smartpqi_sis.c scsi: smartpqi: Close write read holes 2022-07-13 23:42:03 -04:00
smartpqi_sis.h scsi: smartpqi: Fix BUILD_BUG_ON() statements 2022-02-07 23:38:36 -05:00