Yihang Li 7ea3e7763c scsi: hisi_sas: Rollback some operations if FLR failed
We obtain the semaphore and set HISI_SAS_RESETTING_BIT in
hisi_sas_reset_prepare_v3_hw(), block the scsi host and set
HISI_SAS_REJECT_CMD_BIT in hisi_sas_controller_reset_prepare(), released
them in hisi_sas_controller_reset_done(). However, if the HW reset failure
in FLR results in early return, the semaphore and flag bits will not be
release.

Rollback some operations including clearing flags / releasing semaphore
when FLR is failed.

Fixes: e5ea48014adc ("scsi: hisi_sas: Implement handlers of PCIe FLR for v3 hw")
Signed-off-by: Yihang Li <liyihang9@huawei.com>
Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
Link: https://lore.kernel.org/r/1702525516-51258-5-git-send-email-chenxiang66@hisilicon.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2023-12-13 23:24:54 -05:00
..
2023-10-13 14:15:54 -04:00
2023-04-27 11:53:57 -07:00
2023-10-13 16:36:20 -04:00
2023-11-02 15:13:50 -10:00
2023-11-02 15:13:50 -10:00
2023-11-02 15:13:50 -10:00
2023-05-31 19:59:26 -04:00
2023-05-26 13:52:19 -07:00
2023-04-18 23:01:23 -04:00
2022-06-27 22:56:21 -04:00
2022-02-22 21:11:02 -05:00
2023-10-13 16:36:20 -04:00
2023-11-02 15:13:50 -10:00
2022-05-08 14:28:18 -04:00
2023-11-02 15:13:50 -10:00
2023-04-27 11:53:57 -07:00
2021-12-22 23:41:13 -05:00
2023-10-13 16:36:20 -04:00
2023-05-31 11:36:40 -04:00