scsi: hisi_sas: Set debugfs_dir pointer to NULL after removing debugfs
[platform/kernel/linux-starfive.git] / drivers / scsi / hisi_sas / hisi_sas_v3_hw.c
index bbb64ee..089186f 100644 (file)
@@ -4865,6 +4865,12 @@ static void debugfs_bist_init_v3_hw(struct hisi_hba *hisi_hba)
        hisi_hba->debugfs_bist_linkrate = SAS_LINK_RATE_1_5_GBPS;
 }
 
+static void debugfs_exit_v3_hw(struct hisi_hba *hisi_hba)
+{
+       debugfs_remove_recursive(hisi_hba->debugfs_dir);
+       hisi_hba->debugfs_dir = NULL;
+}
+
 static void debugfs_init_v3_hw(struct hisi_hba *hisi_hba)
 {
        struct device *dev = hisi_hba->dev;
@@ -4888,18 +4894,13 @@ static void debugfs_init_v3_hw(struct hisi_hba *hisi_hba)
 
        for (i = 0; i < hisi_sas_debugfs_dump_count; i++) {
                if (debugfs_alloc_v3_hw(hisi_hba, i)) {
-                       debugfs_remove_recursive(hisi_hba->debugfs_dir);
+                       debugfs_exit_v3_hw(hisi_hba);
                        dev_dbg(dev, "failed to init debugfs!\n");
                        break;
                }
        }
 }
 
-static void debugfs_exit_v3_hw(struct hisi_hba *hisi_hba)
-{
-       debugfs_remove_recursive(hisi_hba->debugfs_dir);
-}
-
 static int
 hisi_sas_v3_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 {