Hi,
On 09.03.2017 22:03, David Arcari wrote:
> When the aquantia device mtu is changed the net_device structure is not
> updated. As a result the ip command does not properly reflect the mtu change.
>
> Commit 5513e16421cb incorrectly assumed that __dev_set_mtu() was making the
> assignment ndev->mtu = new_mtu; This is not true in the case where the driver
> has a ndo_change_mtu routine.
>
> Fixes: 5513e16421cb ("net: ethernet: aquantia: Fixes for aq_ndev_change_mtu")
>
> v2: no longer close/open net-device after mtu change
>
> Cc: Pavel Belous <[email protected]>
> Signed-off-by: David Arcari <[email protected]>
> ---
> drivers/net/ethernet/aquantia/atlantic/aq_main.c | 10 ++--------
> 1 file changed, 2 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_main.c
> b/drivers/net/ethernet/aquantia/atlantic/aq_main.c
> index dad6362..bba5ebd 100644
> --- a/drivers/net/ethernet/aquantia/atlantic/aq_main.c
> +++ b/drivers/net/ethernet/aquantia/atlantic/aq_main.c
> @@ -96,15 +96,9 @@ static int aq_ndev_change_mtu(struct net_device *ndev, int
> new_mtu)
> struct aq_nic_s *aq_nic = netdev_priv(ndev);
> int err = aq_nic_set_mtu(aq_nic, new_mtu + ETH_HLEN);
>
> - if (err < 0)
> - goto err_exit;
> + if (!err)
> + ndev->mtu = new_mtu;
>
> - if (netif_running(ndev)) {
> - aq_ndev_close(ndev);
> - aq_ndev_open(ndev);
> - }
> -
> -err_exit:
Removing the restart has nothing to do with the bug you want to fix here, has
it?
I suggest to send a separate patch for this.
Regards,
Lino