summaryrefslogtreecommitdiff
path: root/usr
diff options
context:
space:
mode:
authorXiaofei Tan <tanxiaofei@huawei.com>2017-12-09 01:16:46 +0800
committerMartin K. Petersen <martin.petersen@oracle.com>2017-12-14 21:25:03 -0500
commit813709f2e1e07fa872c05f43801a05828d33a70a (patch)
tree14991831aa859fa7cd52bee58cc703dd5ee42e17 /usr
parent057c3d1f07617049671a41bf05652d20071eb639 (diff)
scsi: hisi_sas: judge result of internal abort
Normally, hardware should ensure that internal abort timeout will never happen. If happen, it would be an SoC failure. What's more, HW will not process any other commands if an internal abort hasn't return CQ, and they will time out also. So, we should judge the result of internal abort in SCSI EH, if it is failed, we should give up to do TMF/softreset and return failure to the upper layer directly. This patch do following things to achieve this: 1. When internal abort timeout happened, we set return value to -EIO in hisi_sas_internal_task_abort(). 2. If prep_abort() is not support, let hisi_sas_internal_task_abort() return TMF_RESP_FUNC_FAILED. 3. If hisi_sas_internal_task_abort() return an negative number, it can be thought that it not executed properly or internal abort timeout. Then we won't do behind TMF or softreset, and return failure directly. Signed-off-by: Xiaofei Tan <tanxiaofei@huawei.com> Signed-off-by: John Garry <john.garry@huawei.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'usr')
0 files changed, 0 insertions, 0 deletions