scsi: hisi_sas: Reset controller for internal abort timeout
authorLuo Jiaxing <luojiaxing@huawei.com>
Mon, 7 Jun 2021 09:29:38 +0000 (17:29 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 10 Jun 2021 03:21:51 +0000 (23:21 -0400)
commit63ece9eb350312ee33327269480482dfac8555db
tree5b82ae7bfab6f0612862ffb0a3607932bc81ab44
parent2f12a499511f40c268d6dfa4bf7fbe2344d2e6d3
scsi: hisi_sas: Reset controller for internal abort timeout

If an internal task abort timeout occurs, the controller has developed a
fault, and needs to be reset to be recovered. However if a timeout occurs
during SCSI error handling, issuing a controller reset immediately may
conflict with the error handling.

To handle internal abort in these two scenarios, only queue the reset when
not in an error handling function. In the case of a timeout during error
handling, do nothing and rely on the inevitable ha nexus reset to reset the
controller.

Link: https://lore.kernel.org/r/1623058179-80434-5-git-send-email-john.garry@huawei.com
Signed-off-by: Luo Jiaxing <luojiaxing@huawei.com>
Signed-off-by: John Garry <john.garry@huawei.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_main.c