scsi: hisi_sas: stop controller timer for reset
authorJohn Garry <john.garry@huawei.com>
Wed, 2 May 2018 15:56:29 +0000 (23:56 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 8 May 2018 05:10:44 +0000 (01:10 -0400)
We should only have the timer enabled after PHY up after controller
reset, so disable prior to reset.

Signed-off-by: John Garry <john.garry@huawei.com>
Signed-off-by: Xiaofei Tan <tanxiaofei@huawei.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_main.c

index 24416bb66027c92d2d22878fe9302ab465f3a106..1f27f847b8b4db180bc5ee1aa0ce4602fb5d52a8 100644 (file)
@@ -1130,6 +1130,9 @@ static int hisi_sas_controller_reset(struct hisi_hba *hisi_hba)
        old_state = hisi_hba->hw->get_phys_state(hisi_hba);
 
        scsi_block_requests(shost);
+       if (timer_pending(&hisi_hba->timer))
+               del_timer_sync(&hisi_hba->timer);
+
        set_bit(HISI_SAS_REJECT_CMD_BIT, &hisi_hba->flags);
        rc = hisi_hba->hw->soft_reset(hisi_hba);
        if (rc) {