Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
This commit is contained in:
@ -2382,8 +2382,11 @@ EXPORT_SYMBOL(netdev_set_num_tc);
|
||||
*/
|
||||
int netif_set_real_num_tx_queues(struct net_device *dev, unsigned int txq)
|
||||
{
|
||||
bool disabling;
|
||||
int rc;
|
||||
|
||||
disabling = txq < dev->real_num_tx_queues;
|
||||
|
||||
if (txq < 1 || txq > dev->num_tx_queues)
|
||||
return -EINVAL;
|
||||
|
||||
@ -2399,15 +2402,19 @@ int netif_set_real_num_tx_queues(struct net_device *dev, unsigned int txq)
|
||||
if (dev->num_tc)
|
||||
netif_setup_tc(dev, txq);
|
||||
|
||||
if (txq < dev->real_num_tx_queues) {
|
||||
dev->real_num_tx_queues = txq;
|
||||
|
||||
if (disabling) {
|
||||
synchronize_net();
|
||||
qdisc_reset_all_tx_gt(dev, txq);
|
||||
#ifdef CONFIG_XPS
|
||||
netif_reset_xps_queues_gt(dev, txq);
|
||||
#endif
|
||||
}
|
||||
} else {
|
||||
dev->real_num_tx_queues = txq;
|
||||
}
|
||||
|
||||
dev->real_num_tx_queues = txq;
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(netif_set_real_num_tx_queues);
|
||||
|
Reference in New Issue
Block a user