scsi: hisi_sas: Check whether debugfs is enabled before removing or releasing it
authorYihang Li <liyihang9@huawei.com>
Mon, 22 Jan 2024 06:25:46 +0000 (14:25 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 25 Jan 2024 02:11:54 +0000 (21:11 -0500)
hisi_sas debugfs remove should be executed only when debugfs is enabled.
Check whether debugfs is enabled and then remove it only if enabled.

Signed-off-by: Yihang Li <liyihang9@huawei.com>
Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
Link: https://lore.kernel.org/r/1705904747-62186-4-git-send-email-chenxiang66@hisilicon.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_main.c
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c

index 70c998d33ec93de6738a02087104cf0d27ca1eab..0b66c733a40d2244754e69994fbe69ceef2b0ab5 100644 (file)
@@ -2625,7 +2625,8 @@ static __exit void hisi_sas_exit(void)
 {
        sas_release_transport(hisi_sas_stt);
 
-       debugfs_remove(hisi_sas_debugfs_dir);
+       if (hisi_sas_debugfs_enable)
+               debugfs_remove(hisi_sas_debugfs_dir);
 }
 
 module_init(hisi_sas_init);
index b56fbc61a15ae825147d5d285da1be228e2a19ec..033298d59402e71547c6fc4b57479f487f4f5458 100644 (file)
@@ -4902,7 +4902,8 @@ err_out_unregister_ha:
 err_out_remove_host:
        scsi_remove_host(shost);
 err_out_undo_debugfs:
-       debugfs_exit_v3_hw(hisi_hba);
+       if (hisi_sas_debugfs_enable)
+               debugfs_exit_v3_hw(hisi_hba);
 err_out_free_host:
        hisi_sas_free(hisi_hba);
        scsi_host_put(shost);
@@ -4942,7 +4943,9 @@ static void hisi_sas_v3_remove(struct pci_dev *pdev)
 
        hisi_sas_v3_destroy_irqs(pdev, hisi_hba);
        hisi_sas_free(hisi_hba);
-       debugfs_exit_v3_hw(hisi_hba);
+       if (hisi_sas_debugfs_enable)
+               debugfs_exit_v3_hw(hisi_hba);
+
        scsi_host_put(shost);
 }