Blob Blame History Raw
From: Shannon Nelson <snelson@pensando.io>
Date: Sun, 13 Sep 2020 12:16:54 -0700
Subject: ionic: fix up debugfs after queue swap
Patch-mainline: v5.10-rc1
Git-commit: ed6d9b0228132fee03314b276d946fc3f0cc9e4f
References: jsc#SLE-16649

Clean and rebuild the debugfs info for the queues being swapped.

Fixes: a34e25ab977c ("ionic: change the descriptor ring length without full reset")
Signed-off-by: Shannon Nelson <snelson@pensando.io>
Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
 drivers/net/ethernet/pensando/ionic/ionic_lif.c |   15 +++++++++++++++
 1 file changed, 15 insertions(+)

--- a/drivers/net/ethernet/pensando/ionic/ionic_lif.c
+++ b/drivers/net/ethernet/pensando/ionic/ionic_lif.c
@@ -2241,6 +2241,21 @@ int ionic_reconfigure_queues(struct ioni
 		}
 	}
 
+	/* now we can rework the debugfs mappings */
+	if (tx_qcqs) {
+		for (i = 0; i < qparam->nxqs; i++) {
+			ionic_debugfs_del_qcq(lif->txqcqs[i]);
+			ionic_debugfs_add_qcq(lif, lif->txqcqs[i]);
+		}
+	}
+
+	if (rx_qcqs) {
+		for (i = 0; i < qparam->nxqs; i++) {
+			ionic_debugfs_del_qcq(lif->rxqcqs[i]);
+			ionic_debugfs_add_qcq(lif, lif->rxqcqs[i]);
+		}
+	}
+
 	swap(lif->nxqs, qparam->nxqs);
 
 err_out_reinit_unlock: