diff options
-rw-r--r-- | drivers/net/bonding/bond_main.c | 7 | ||||
-rw-r--r-- | include/net/rtnetlink.h | 5 | ||||
-rw-r--r-- | net/core/rtnetlink.c | 8 |
3 files changed, 8 insertions, 12 deletions
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 62d2409bb293..53ee6a0a3681 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c | |||
@@ -4820,12 +4820,9 @@ static int bond_validate(struct nlattr *tb[], struct nlattr *data[]) | |||
4820 | return 0; | 4820 | return 0; |
4821 | } | 4821 | } |
4822 | 4822 | ||
4823 | static int bond_get_tx_queues(struct net *net, struct nlattr *tb[], | 4823 | static int bond_get_tx_queues(struct net *net, const struct nlattr *tb[]) |
4824 | unsigned int *num_queues, | ||
4825 | unsigned int *real_num_queues) | ||
4826 | { | 4824 | { |
4827 | *num_queues = tx_queues; | 4825 | return tx_queues; |
4828 | return 0; | ||
4829 | } | 4826 | } |
4830 | 4827 | ||
4831 | static struct rtnl_link_ops bond_link_ops __read_mostly = { | 4828 | static struct rtnl_link_ops bond_link_ops __read_mostly = { |
diff --git a/include/net/rtnetlink.h b/include/net/rtnetlink.h index 370293901971..58243739212c 100644 --- a/include/net/rtnetlink.h +++ b/include/net/rtnetlink.h | |||
@@ -75,9 +75,8 @@ struct rtnl_link_ops { | |||
75 | size_t (*get_xstats_size)(const struct net_device *dev); | 75 | size_t (*get_xstats_size)(const struct net_device *dev); |
76 | int (*fill_xstats)(struct sk_buff *skb, | 76 | int (*fill_xstats)(struct sk_buff *skb, |
77 | const struct net_device *dev); | 77 | const struct net_device *dev); |
78 | int (*get_tx_queues)(struct net *net, struct nlattr *tb[], | 78 | int (*get_tx_queues)(struct net *net, |
79 | unsigned int *tx_queues, | 79 | const struct nlattr *tb[]); |
80 | unsigned int *real_tx_queues); | ||
81 | }; | 80 | }; |
82 | 81 | ||
83 | extern int __rtnl_link_register(struct rtnl_link_ops *ops); | 82 | extern int __rtnl_link_register(struct rtnl_link_ops *ops); |
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index 545a969672ab..4a0d8cfff2a0 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c | |||
@@ -1640,14 +1640,14 @@ struct net_device *rtnl_create_link(struct net *src_net, struct net *net, | |||
1640 | int err; | 1640 | int err; |
1641 | struct net_device *dev; | 1641 | struct net_device *dev; |
1642 | unsigned int num_queues = 1; | 1642 | unsigned int num_queues = 1; |
1643 | unsigned int real_num_queues = 1; | ||
1644 | 1643 | ||
1645 | if (ops->get_tx_queues) { | 1644 | if (ops->get_tx_queues) { |
1646 | err = ops->get_tx_queues(src_net, tb, &num_queues, | 1645 | err = ops->get_tx_queues(src_net, tb); |
1647 | &real_num_queues); | 1646 | if (err < 0) |
1648 | if (err) | ||
1649 | goto err; | 1647 | goto err; |
1648 | num_queues = err; | ||
1650 | } | 1649 | } |
1650 | |||
1651 | err = -ENOMEM; | 1651 | err = -ENOMEM; |
1652 | dev = alloc_netdev_mq(ops->priv_size, ifname, ops->setup, num_queues); | 1652 | dev = alloc_netdev_mq(ops->priv_size, ifname, ops->setup, num_queues); |
1653 | if (!dev) | 1653 | if (!dev) |