ionic: lif debugfs refresh on reset
authorShannon Nelson <shannon.nelson@amd.com>
Mon, 11 Dec 2023 18:58:03 +0000 (10:58 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 13 Dec 2023 12:35:55 +0000 (12:35 +0000)
Remove and restore the lif's debugfs pointers on a reset,
and make sure to check for the dentry before removing it
in case an earlier reset failed to rebuild the lif.

Signed-off-by: Shannon Nelson <shannon.nelson@amd.com>
Reviewed-by: Brett Creeley <brett.creeley@amd.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c
drivers/net/ethernet/pensando/ionic/ionic_debugfs.c

index fd2135c23862d2e9a1561a1e3da3fdeaa076affb..60e64ef043af3319434563259a0d000ec8293096 100644 (file)
@@ -437,6 +437,7 @@ static void ionic_reset_prepare(struct pci_dev *pdev)
        ionic_txrx_free(lif);
        ionic_lif_deinit(lif);
        ionic_qcqs_free(lif);
+       ionic_debugfs_del_lif(lif);
        mutex_unlock(&lif->queue_lock);
 
        ionic_dev_teardown(ionic);
index c5821702756434a514edc2d8001a98999e926312..91327ef670c768968cf715163e213dc17574a13c 100644 (file)
@@ -287,6 +287,9 @@ void ionic_debugfs_add_lif(struct ionic_lif *lif)
 
 void ionic_debugfs_del_lif(struct ionic_lif *lif)
 {
+       if (!lif->dentry)
+               return;
+
        debugfs_remove_recursive(lif->dentry);
        lif->dentry = NULL;
 }