diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c index bc06079d34ab39daf9774b256069685974c30d17..ab721381fecd8f9ba3a85e15ce1f5d850f972423 100644 --- a/drivers/scsi/hisi_sas/hisi_sas_main.c +++ b/drivers/scsi/hisi_sas/hisi_sas_main.c @@ -866,6 +866,10 @@ static void hisi_sas_dev_gone(struct domain_device *device) HISI_SAS_INT_ABT_DEV, 0); hisi_sas_dereg_device(hisi_hba, device); + if (!list_empty(&sas_dev->list)) { + hisi_sas_release_task(hisi_hba, device); + dev_info(dev, "dev gone: release remain resources anyway.\n"); + } down(&hisi_hba->sem); hisi_hba->hw->clear_itct(hisi_hba, sas_dev);