|
@@ -1055,10 +1055,11 @@ static int team_port_add(struct team *team, struct net_device *port_dev)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- err = netdev_set_master(port_dev, dev);
|
|
|
+ err = netdev_master_upper_dev_link(port_dev, dev);
|
|
|
if (err) {
|
|
|
- netdev_err(dev, "Device %s failed to set master\n", portname);
|
|
|
- goto err_set_master;
|
|
|
+ netdev_err(dev, "Device %s failed to set upper link\n",
|
|
|
+ portname);
|
|
|
+ goto err_set_upper_link;
|
|
|
}
|
|
|
|
|
|
err = netdev_rx_handler_register(port_dev, team_handle_frame,
|
|
@@ -1091,9 +1092,9 @@ err_option_port_add:
|
|
|
netdev_rx_handler_unregister(port_dev);
|
|
|
|
|
|
err_handler_register:
|
|
|
- netdev_set_master(port_dev, NULL);
|
|
|
+ netdev_upper_dev_unlink(port_dev, dev);
|
|
|
|
|
|
-err_set_master:
|
|
|
+err_set_upper_link:
|
|
|
team_port_disable_netpoll(port);
|
|
|
|
|
|
err_enable_netpoll:
|
|
@@ -1137,7 +1138,7 @@ static int team_port_del(struct team *team, struct net_device *port_dev)
|
|
|
team_port_disable(team, port);
|
|
|
list_del_rcu(&port->list);
|
|
|
netdev_rx_handler_unregister(port_dev);
|
|
|
- netdev_set_master(port_dev, NULL);
|
|
|
+ netdev_upper_dev_unlink(port_dev, dev);
|
|
|
team_port_disable_netpoll(port);
|
|
|
vlan_vids_del_by_dev(port_dev, dev);
|
|
|
dev_close(port_dev);
|