linux/drivers/scsi/pm8001
Ajish Koshy d1acd81bd6 scsi: pm80xx: Fix drives missing during rmmod/insmod loop
When driver is loaded after rmmod some drives are not showing up during
discovery.

SATA drives are directly attached to the controller connected phys.  During
device discovery, the IDENTIFY command (qc timeout (cmd 0xec)) is timing out
during revalidation. This will trigger abort from host side and controller
successfully aborts the command and returns success. Post this successful
abort response ATA library decides to mark the disk as NODEV.

To overcome this, inside pm8001_scan_start() after phy_start() call, add get
start response and wait for few milliseconds to trigger next phy start.
This millisecond delay will give sufficient time for the controller state
machine to accept next phy start.

Link: https://lore.kernel.org/r/20210505120103.24497-1-ajish.koshy@microchip.com
Signed-off-by: Ajish Koshy <ajish.koshy@microchip.com>
Signed-off-by: Viswas G <viswas.g@microchip.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2021-05-15 18:07:43 -04:00
..
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pm80xx_hwi.c scsi: pm80xx: Fix drives missing during rmmod/insmod loop 2021-05-15 18:07:43 -04:00
pm80xx_hwi.h scsi: pm80xx: Completing pending I/O after fatal error 2021-04-15 22:28:59 -04:00
pm8001_chips.h
pm8001_ctl.c scsi: pm80xx: Add sysfs attribute to track iop1 count 2021-04-15 22:28:59 -04:00
pm8001_ctl.h scsi: pm8001: Clean up white space 2021-04-12 23:21:26 -04:00
pm8001_defs.h scsi: pm80xx: Increase the number of outstanding I/O supported to 1024 2020-10-07 23:50:04 -04:00
pm8001_hwi.c scsi: pm80xx: Fix drives missing during rmmod/insmod loop 2021-05-15 18:07:43 -04:00
pm8001_hwi.h scsi: pm80xx: Completing pending I/O after fatal error 2021-04-15 22:28:59 -04:00
pm8001_init.c scsi: pm80xx: Fix drives missing during rmmod/insmod loop 2021-05-15 18:07:43 -04:00
pm8001_sas.c scsi: pm80xx: Fix drives missing during rmmod/insmod loop 2021-05-15 18:07:43 -04:00
pm8001_sas.h scsi: pm80xx: Remove global lock from outbound queue processing 2021-04-15 22:29:00 -04:00