linux/drivers/scsi/hisi_sas
Xiang Chen ccbfe5a05a scsi: hisi_sas: release SMP slot in lldd_abort_task
When an SMP task timeouts, it will call lldd_abort_task to release the
associated slot, and then will release the sas_task.

Currently in lldd_abort_task, if we fail to internally abort IO, then
the slot of SMP IO is not released, but sas_task will still be later
released, so the slot's sas_task is NULL, which will cause NULL pointer
when hisi_sas_slot_task_free happens later.

To resolve, check the return value of internal abort, and release the
slot if it failed.

Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
Signed-off-by: John Garry <john.garry@huawei.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2017-03-23 11:12:02 -04:00
..
hisi_sas_main.c scsi: hisi_sas: release SMP slot in lldd_abort_task 2017-03-23 11:12:02 -04:00
hisi_sas_v1_hw.c scsi: hisi_sas: fix some sas_task.task_state_lock locking 2017-03-23 11:12:02 -04:00
hisi_sas_v2_hw.c scsi: hisi_sas: rename hisi_sas_link_timeout_{enable, disable}_link 2017-03-23 11:12:02 -04:00
hisi_sas.h scsi: hisi_sas: remove hisi_sas_port_deformed() 2017-03-23 11:12:01 -04:00
Kconfig scsi: hisi_sas: add softreset function for SATA disk 2017-03-23 11:12:01 -04:00
Makefile hisi_sas: add bare v2 hw driver 2016-02-23 21:27:02 -05:00