From: Noa Osherovich Date: Thu, 5 Dec 2013 08:24:55 +0000 (+0200) Subject: ipoib: added an error message when trying to change mtu to 2K-4K X-Git-Tag: v4.1.12-92~293^2~1^2~54 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=8faaa4d5a85e707196423277941370391b51a8eb;p=users%2Fjedix%2Flinux-maple.git ipoib: added an error message when trying to change mtu to 2K-4K Max mtu defined by IB is 4K, but mcast_mtu is limited to 2K, so any request to change mtu to a value between 2K-4K didn't change the mtu, but also didn't show an error message. An error value (-EINVAL) is now returned and an ipoib_warn is issued in such cases. Signed-off-by: Noa Osherovich (Ported from Mellanox OFED 2.4) Signed-off-by: Mukesh Kacker --- diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c index f2dc1c455333..9f9864b42c0b 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_main.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c @@ -218,6 +218,11 @@ static int ipoib_change_mtu(struct net_device *dev, int new_mtu) priv->admin_mtu = new_mtu; dev->mtu = min(priv->mcast_mtu, priv->admin_mtu); + if (dev->mtu < new_mtu) { + ipoib_warn(priv, "mtu must be smaller than mcast_mtu (%d)\n", + priv->mcast_mtu); + return -EINVAL; + } return 0; }