aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/pensando
diff options
context:
space:
mode:
authorShannon Nelson <snelson@pensando.io>2021-10-09 11:45:23 -0700
committerDavid S. Miller <davem@davemloft.net>2021-10-10 10:42:47 +0100
commitf91958cc962225bfb4d135631379a644b1e2d089 (patch)
tree4f439df91be95340fd720df340df92160c1d4dae /drivers/net/ethernet/pensando
parentionic: allow adminq requests to override default error message (diff)
downloadlinux-dev-f91958cc962225bfb4d135631379a644b1e2d089.tar.xz
linux-dev-f91958cc962225bfb4d135631379a644b1e2d089.zip
ionic: tame the filter no space message
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>
Diffstat (limited to 'drivers/net/ethernet/pensando')
-rw-r--r--drivers/net/ethernet/pensando/ionic/ionic_rx_filter.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/drivers/net/ethernet/pensando/ionic/ionic_rx_filter.c b/drivers/net/ethernet/pensando/ionic/ionic_rx_filter.c
index 366f15794866..f6e785f949f9 100644
--- 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 ionic_lif *lif,
}
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 ionic_lif *lif,
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;
}