On 01.01.2019 08:54, Kirill Tkhai wrote:
> On 01.01.2019 09:42, Murali Krishna Policharla wrote:
>> Store newly configured mtu settings in the netdevice after mtu
>> configuration is successful to the dsa switch.
>>
>> Fixes: 2315dc91a5 ("net: make dev_set_mtu() honor notification return code")
>> Signed-off-by: Murali Krishna Policharla <murali.policha...@broadcom.com>
>> Reviewed-by: Florian Fainelli <florian.faine...@broadcom.com>
>> ---
>>  net/core/dev.c | 9 ++++++---
>>  1 file changed, 6 insertions(+), 3 deletions(-)
>>
>> diff --git a/net/core/dev.c b/net/core/dev.c
>> index 722d50d..58617aa 100644
>> --- a/net/core/dev.c
>> +++ b/net/core/dev.c
>> @@ -7586,12 +7586,15 @@ int dev_change_flags(struct net_device *dev, 
>> unsigned int flags)
>>  int __dev_set_mtu(struct net_device *dev, int new_mtu)
>>  {
>>      const struct net_device_ops *ops = dev->netdev_ops;
>> +    int ret = 0;
>>  
>>      if (ops->ndo_change_mtu)
>> -            return ops->ndo_change_mtu(dev, new_mtu);
> 
> Is there a .ndo_change_mtu callback, which does not assign a new mtu itself?
> 
So far all drivers have to do it themselves. But IMO this is more a workaround
for the core not doing it. It's something the core should do.
Now we can remove this from drivers.

>> +            ret = ops->ndo_change_mtu(dev, new_mtu);
>>  
>> -    dev->mtu = new_mtu;
>> -    return 0;
>> +    if (ret >= 0)
>> +            dev->mtu = new_mtu;
>> +
>> +    return ret;
>>  }
>>  EXPORT_SYMBOL(__dev_set_mtu);
>>  
>>
> 

Reply via email to