[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 05 Jun 2019 19:08:25 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: uli+renesas@...nd.eu
Cc: linux-renesas-soc@...r.kernel.org, netdev@...r.kernel.org,
sergei.shtylyov@...entembedded.com, niklas.soderlund@...natech.se,
wsa@...-dreams.de, horms@...ge.net.au, magnus.damm@...il.com
Subject: Re: [PATCH v2] ravb: implement MTU change while device is up
From: Ulrich Hecht <uli+renesas@...nd.eu>
Date: Wed, 5 Jun 2019 17:14:20 +0200
> @@ -1811,11 +1811,14 @@ static int ravb_do_ioctl(struct net_device *ndev, struct ifreq *req, int cmd)
> static int ravb_change_mtu(struct net_device *ndev, int new_mtu)
> {
> if (netif_running(ndev))
> - return -EBUSY;
> + ravb_close(ndev);
>
> ndev->mtu = new_mtu;
> netdev_update_features(ndev);
>
> + if (netif_running(ndev))
> + return ravb_open(ndev);
> +
And if ravb_open() fails? The user sees a failure, but to the user the failure
means the MTU change can't be done, yet the device has the new MTU set still.
This really is terrible behavior.
If you must do a prepare/commit kind of sequence for this to work properly if
you are going to go down the road of taking the device down to change the MTU
when the device is UP.
Powered by blists - more mailing lists