summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2015-12-14 09:57:42 +0000
committerhselasky <hselasky@FreeBSD.org>2015-12-14 09:57:42 +0000
commit54fe0c692312cf906de660f9e15b41616eb47f9b (patch)
tree2aaa50ce32800339094fa87b92b14db3dfa59201 /sys/dev
parentca3916153a9afe4e3f92645ad5e30244ae24d8fc (diff)
downloadFreeBSD-src-54fe0c692312cf906de660f9e15b41616eb47f9b.zip
FreeBSD-src-54fe0c692312cf906de660f9e15b41616eb47f9b.tar.gz
MFC r291931:
The firmware no longer supports setting a port MTU of zero bytes. Set the port MTU and then query it and report if any problems instead. Submitted by: Shahar Klein <shahark@mellanox.com> Sponsored by: Mellanox Technologies Differential Revision: https://reviews.freebsd.org/D4408
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/mlx5/mlx5_en/mlx5_en_main.c23
1 files changed, 3 insertions, 20 deletions
diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
index a4a1ec7..4e92eb6 100644
--- a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
+++ b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
@@ -2005,32 +2005,15 @@ mlx5e_set_dev_port_mtu(struct ifnet *ifp, int sw_mtu)
struct mlx5e_priv *priv = ifp->if_softc;
struct mlx5_core_dev *mdev = priv->mdev;
int hw_mtu;
- int min_mtu;
int err;
- /*
- * Trying to set MTU to zero, in order
- * to find out the FW's minimal MTU
- */
- err = mlx5_set_port_mtu(mdev, 0);
- if (err)
- return (err);
- err = mlx5_query_port_oper_mtu(mdev, &min_mtu);
+ err = mlx5_set_port_mtu(mdev, MLX5E_SW2HW_MTU(sw_mtu));
if (err) {
- if_printf(ifp, "Query port minimal MTU failed\n");
+ if_printf(ifp, "%s: mlx5_set_port_mtu failed setting %d, err=%d\n",
+ __func__, sw_mtu, err);
return (err);
}
-
- if (sw_mtu < MLX5E_HW2SW_MTU(min_mtu)) {
- ifp->if_mtu = sw_mtu;
- return (0);
- }
-
- err = mlx5_set_port_mtu(mdev, MLX5E_SW2HW_MTU(sw_mtu));
- if (err)
- return (err);
-
err = mlx5_query_port_oper_mtu(mdev, &hw_mtu);
if (!err) {
ifp->if_mtu = MLX5E_HW2SW_MTU(hw_mtu);
OpenPOWER on IntegriCloud