| .. | .. |
|---|
| 19 | 19 | #include <linux/ethtool.h> |
|---|
| 20 | 20 | #include <linux/module.h> |
|---|
| 21 | 21 | #include <linux/slab.h> |
|---|
| 22 | | -#include <linux/netdevice.h> |
|---|
| 23 | 22 | #include <linux/netpoll.h> |
|---|
| 24 | 23 | #include <linux/rtnetlink.h> |
|---|
| 25 | 24 | #include <linux/if_vlan.h> |
|---|
| .. | .. |
|---|
| 41 | 40 | |
|---|
| 42 | 41 | primary_dev = rtnl_dereference(nfo_info->primary_dev); |
|---|
| 43 | 42 | if (primary_dev) { |
|---|
| 44 | | - err = dev_open(primary_dev); |
|---|
| 43 | + err = dev_open(primary_dev, NULL); |
|---|
| 45 | 44 | if (err) |
|---|
| 46 | 45 | goto err_primary_open; |
|---|
| 47 | 46 | } |
|---|
| 48 | 47 | |
|---|
| 49 | 48 | standby_dev = rtnl_dereference(nfo_info->standby_dev); |
|---|
| 50 | 49 | if (standby_dev) { |
|---|
| 51 | | - err = dev_open(standby_dev); |
|---|
| 50 | + err = dev_open(standby_dev, NULL); |
|---|
| 52 | 51 | if (err) |
|---|
| 53 | 52 | goto err_standby_open; |
|---|
| 54 | 53 | } |
|---|
| .. | .. |
|---|
| 117 | 116 | |
|---|
| 118 | 117 | static u16 net_failover_select_queue(struct net_device *dev, |
|---|
| 119 | 118 | struct sk_buff *skb, |
|---|
| 120 | | - struct net_device *sb_dev, |
|---|
| 121 | | - select_queue_fallback_t fallback) |
|---|
| 119 | + struct net_device *sb_dev) |
|---|
| 122 | 120 | { |
|---|
| 123 | 121 | struct net_failover_info *nfo_info = netdev_priv(dev); |
|---|
| 124 | 122 | struct net_device *primary_dev; |
|---|
| .. | .. |
|---|
| 129 | 127 | const struct net_device_ops *ops = primary_dev->netdev_ops; |
|---|
| 130 | 128 | |
|---|
| 131 | 129 | if (ops->ndo_select_queue) |
|---|
| 132 | | - txq = ops->ndo_select_queue(primary_dev, skb, |
|---|
| 133 | | - sb_dev, fallback); |
|---|
| 130 | + txq = ops->ndo_select_queue(primary_dev, skb, sb_dev); |
|---|
| 134 | 131 | else |
|---|
| 135 | | - txq = fallback(primary_dev, skb, NULL); |
|---|
| 132 | + txq = netdev_pick_tx(primary_dev, skb, NULL); |
|---|
| 136 | 133 | |
|---|
| 137 | 134 | qdisc_skb_cb(skb)->slave_dev_queue_mapping = skb->queue_mapping; |
|---|
| 138 | 135 | |
|---|
| .. | .. |
|---|
| 519 | 516 | dev_hold(slave_dev); |
|---|
| 520 | 517 | |
|---|
| 521 | 518 | if (netif_running(failover_dev)) { |
|---|
| 522 | | - err = dev_open(slave_dev); |
|---|
| 519 | + err = dev_open(slave_dev, NULL); |
|---|
| 523 | 520 | if (err && (err != -EBUSY)) { |
|---|
| 524 | 521 | netdev_err(failover_dev, "Opening slave %s failed err:%d\n", |
|---|
| 525 | 522 | slave_dev->name, err); |
|---|
| .. | .. |
|---|
| 682 | 679 | /* We need to bring up the slave after the rename by udev in case |
|---|
| 683 | 680 | * open failed with EBUSY when it was registered. |
|---|
| 684 | 681 | */ |
|---|
| 685 | | - dev_open(slave_dev); |
|---|
| 682 | + dev_open(slave_dev, NULL); |
|---|
| 686 | 683 | |
|---|
| 687 | 684 | return 0; |
|---|
| 688 | 685 | } |
|---|