android_kernel_xiaomi_sm8450/drivers/scsi/pm8001
Igor Pylypiv 968ee9176a scsi: pm80xx: Fix TMF task completion race condition
[ Upstream commit d712d3fb484b7fa8d1d57e9ca6f134bb9d8c18b1 ]

The TMF timeout timer may trigger at the same time when the response from a
controller is being handled. When this happens the SAS task may get freed
before the response processing is finished.

Fix this by calling complete() only when SAS_TASK_STATE_DONE is not set.

A similar race condition was fixed in commit b90cd6f2b9 ("scsi: libsas:
fix a race condition when smp task timeout")

Link: https://lore.kernel.org/r/20210707185945.35559-1-ipylypiv@google.com
Reviewed-by: Vishakha Channapattan <vishakhavc@google.com>
Acked-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Igor Pylypiv <ipylypiv@google.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-08-26 08:35:36 -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-06-03 09:00:44 +02:00
pm80xx_hwi.h scsi: pm80xx: Increase timeout for pm80xx mpi_uninit_check 2019-11-19 21:37:33 -05:00
pm8001_chips.h [SCSI] pm8001: fix endian issue with code optimization. 2012-02-29 16:54:09 -06:00
pm8001_ctl.c scsi: pm8001: Neaten debug logging macros and uses 2021-03-25 09:04:11 +01: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: Fix drives missing during rmmod/insmod loop 2021-06-03 09:00:44 +02:00
pm8001_hwi.h scsi: pm80xx: Fix for phy enable/disable functionality 2018-09-11 21:13:08 -04:00
pm8001_init.c scsi: libsas: Add LUN number check in .slave_alloc callback 2021-07-25 14:36:16 +02:00
pm8001_sas.c scsi: pm80xx: Fix TMF task completion race condition 2021-08-26 08:35:36 -04:00
pm8001_sas.h scsi: pm8001: Neaten debug logging macros and uses 2021-03-25 09:04:11 +01:00