Blob Blame History Raw
From: Shannon Nelson <snelson@pensando.io>
Date: Sat, 9 Oct 2021 11:45:23 -0700
Subject: ionic: tame the filter no space message
Patch-mainline: v5.16-rc1
Git-commit: f91958cc962225bfb4d135631379a644b1e2d089
References: jsc#SLE-19282

Override the automatic AdminQ error message in order to
capture the potential No Space message when we hit the
max vlan limit, and add additional messaging to detail
what filter failed.

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_rx_filter.c |   15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

--- a/drivers/net/ethernet/pensando/ionic/ionic_rx_filter.c
+++ b/drivers/net/ethernet/pensando/ionic/ionic_rx_filter.c
@@ -357,7 +357,7 @@ static int ionic_lif_filter_add(struct i
 	}
 
 	if (err != -ENOSPC)
-		err = ionic_adminq_post_wait(lif, &ctx);
+		err = ionic_adminq_post_wait_nomsg(lif, &ctx);
 
 	spin_lock_bh(&lif->rx_filters.lock);
 
@@ -382,6 +382,19 @@ static int ionic_lif_filter_add(struct i
 			return 0;
 		}
 
+		ionic_adminq_netdev_err_print(lif, ctx.cmd.cmd.opcode,
+					      ctx.comp.comp.status, err);
+		switch (le16_to_cpu(ctx.cmd.rx_filter_add.match)) {
+		case IONIC_RX_FILTER_MATCH_VLAN:
+			netdev_info(lif->netdev, "rx_filter add failed: VLAN %d\n",
+				    ctx.cmd.rx_filter_add.vlan.vlan);
+			break;
+		case IONIC_RX_FILTER_MATCH_MAC:
+			netdev_info(lif->netdev, "rx_filter add failed: ADDR %pM\n",
+				    ctx.cmd.rx_filter_add.mac.addr);
+			break;
+		}
+
 		return err;
 	}