aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/dev.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/core/dev.c')
-rw-r--r--net/core/dev.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 38b0c414d780..36e994519488 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -7607,16 +7607,19 @@ int dev_change_tx_queue_len(struct net_device *dev, unsigned long new_len)
7607 dev->tx_queue_len = new_len; 7607 dev->tx_queue_len = new_len;
7608 res = call_netdevice_notifiers(NETDEV_CHANGE_TX_QUEUE_LEN, dev); 7608 res = call_netdevice_notifiers(NETDEV_CHANGE_TX_QUEUE_LEN, dev);
7609 res = notifier_to_errno(res); 7609 res = notifier_to_errno(res);
7610 if (res) { 7610 if (res)
7611 netdev_err(dev, 7611 goto err_rollback;
7612 "refused to change device tx_queue_len\n"); 7612 res = dev_qdisc_change_tx_queue_len(dev);
7613 dev->tx_queue_len = orig_len; 7613 if (res)
7614 return res; 7614 goto err_rollback;
7615 }
7616 return dev_qdisc_change_tx_queue_len(dev);
7617 } 7615 }
7618 7616
7619 return 0; 7617 return 0;
7618
7619err_rollback:
7620 netdev_err(dev, "refused to change device tx_queue_len\n");
7621 dev->tx_queue_len = orig_len;
7622 return res;
7620} 7623}
7621 7624
7622/** 7625/**