r8152: change rx early size when the mtu is changed
The rx early size is calculated with the mtu, so it has to be re-calculated when the mtu is changed. Signed-off-by: Hayes Wang <hayeswang@realtek.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
464ec10a2d
commit
396e2e235a
@ -3777,6 +3777,7 @@ out:
|
||||
static int rtl8152_change_mtu(struct net_device *dev, int new_mtu)
|
||||
{
|
||||
struct r8152 *tp = netdev_priv(dev);
|
||||
int ret;
|
||||
|
||||
switch (tp->version) {
|
||||
case RTL_VER_01:
|
||||
@ -3789,9 +3790,22 @@ static int rtl8152_change_mtu(struct net_device *dev, int new_mtu)
|
||||
if (new_mtu < 68 || new_mtu > RTL8153_MAX_MTU)
|
||||
return -EINVAL;
|
||||
|
||||
ret = usb_autopm_get_interface(tp->intf);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
mutex_lock(&tp->control);
|
||||
|
||||
dev->mtu = new_mtu;
|
||||
|
||||
return 0;
|
||||
if (netif_running(dev) && netif_carrier_ok(dev))
|
||||
r8153_set_rx_early_size(tp);
|
||||
|
||||
mutex_unlock(&tp->control);
|
||||
|
||||
usb_autopm_put_interface(tp->intf);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const struct net_device_ops rtl8152_netdev_ops = {
|
||||
|
Loading…
Reference in New Issue
Block a user