linux/drivers/scsi/pm8001
Viswas G 4a2efd4b89 scsi: pm80xx: Make running_req atomic
Incorrect value of the running_req was causing the driver unload to be
stuck during the SAS lldd_dev_gone notification handling.  During SATA I/O
completion, for some error status values, the driver schedules the event
handler and running_req is decremented from that.  However, there are some
other error status values (like IO_DS_IN_RECOVERY,
IO_XFER_ERR_LAST_PIO_DATAIN_CRC_ERR) where the I/O has already been
completed by fw/driver so running_req is not decremented.

Also during NCQ error handling, driver itself will initiate READ_LOG_EXT
and ABORT_ALL. When libsas/libata initiate READ_LOG_EXT (0x2F), driver
increments running_req. This will be completed by the driver in
pm80xx_chip_sata_req(), but running_req was not decremented.

Link: https://lore.kernel.org/r/20201102165528.26510-3-Viswas.G@microchip.com.com
Acked-by: Jack Wang <jinpu.wang@cloud.ionos.com>
Signed-off-by: Viswas G <Viswas.G@microchip.com>
Signed-off-by: Ruksar Devadi <Ruksar.devadi@microchip.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2020-11-04 22:55:38 -05: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: Make running_req atomic 2020-11-04 22:55:38 -05:00
pm80xx_hwi.h scsi: pm80xx: Increase timeout for pm80xx mpi_uninit_check 2019-11-19 21:37:33 -05:00
pm8001_chips.h
pm8001_ctl.c scsi: pm80xx: Increase number of supported queues 2020-10-07 23:50:04 -04:00
pm8001_ctl.h [SCSI] pm80xx: Firmware logging support. 2013-10-25 09:58:16 +01: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: Make running_req atomic 2020-11-04 22:55:38 -05:00
pm8001_hwi.h scsi: pm80xx: Fix for phy enable/disable functionality 2018-09-11 21:13:08 -04:00
pm8001_init.c scsi: pm80xx: Make running_req atomic 2020-11-04 22:55:38 -05:00
pm8001_sas.c scsi: pm80xx: Make running_req atomic 2020-11-04 22:55:38 -05:00
pm8001_sas.h scsi: pm80xx: Make running_req atomic 2020-11-04 22:55:38 -05:00