diff options
author | Yihang Li <liyihang9@huawei.com> | 2023-12-14 06:45:15 +0300 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2023-12-14 07:24:54 +0300 |
commit | 7ea3e7763c50b20a8bd25cf524ea0c6463de69be (patch) | |
tree | e821ed329b0bc2344b7e8a7093f57f6ce215f78a /drivers/fpga/fpga-bridge.c | |
parent | 8dd10296be8562a45c6c6794dd492a2b7dccede8 (diff) | |
download | linux-7ea3e7763c50b20a8bd25cf524ea0c6463de69be.tar.xz |
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>
Diffstat (limited to 'drivers/fpga/fpga-bridge.c')
0 files changed, 0 insertions, 0 deletions