Hello! On 05/08/2019 06:21 PM, Ulrich Hecht wrote: > Uses the same method as various other drivers: shut the device down, > change the MTU, then bring it back up again. > > Tested on Renesas D3 Draak board. > > Signed-off-by: Ulrich Hecht <uli+renesas@xxxxxxxx> You should have CC'ed me (as an reviewer for the Renesas drivers). > --- > drivers/net/ethernet/renesas/ravb_main.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) What about sh_eth? > > diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c > index ef8f089..02c247c 100644 > --- a/drivers/net/ethernet/renesas/ravb_main.c > +++ b/drivers/net/ethernet/renesas/ravb_main.c > @@ -1810,13 +1810,16 @@ 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; > + if (!netif_running(ndev)) { > + ndev->mtu = new_mtu; > + netdev_update_features(ndev); > + return 0; > + } > > + ravb_close(ndev); > ndev->mtu = new_mtu; > - netdev_update_features(ndev); > > - return 0; > + return ravb_open(ndev); How about the code below instead? if (netif_running(ndev)) ravb_close(ndev); ndev->mtu = new_mtu; netdev_update_features(ndev); if (netif_running(ndev)) return ravb_open(ndev); return 0; [...] MBR, Sergei