diff options
author | Xiang Chen <chenxiang66@hisilicon.com> | 2017-03-22 18:25:36 +0100 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2017-03-23 16:12:02 +0100 |
commit | ccbfe5a05a5be7670d1b91ad07d8b1f3b9dbd45e (patch) | |
tree | 937cb19252371555bfd00b98c21d238b2dbc04be /CREDITS | |
parent | scsi: hisi_sas: add hisi_sas_clear_nexus_ha() (diff) | |
download | linux-ccbfe5a05a5be7670d1b91ad07d8b1f3b9dbd45e.tar.xz linux-ccbfe5a05a5be7670d1b91ad07d8b1f3b9dbd45e.zip |
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>
Diffstat (limited to 'CREDITS')
0 files changed, 0 insertions, 0 deletions