|
@@ -1072,14 +1072,11 @@ static void team_port_leave(struct team *team, struct team_port *port)
|
|
|
}
|
|
|
|
|
|
#ifdef CONFIG_NET_POLL_CONTROLLER
|
|
|
-static int team_port_enable_netpoll(struct team *team, struct team_port *port)
|
|
|
+static int __team_port_enable_netpoll(struct team_port *port)
|
|
|
{
|
|
|
struct netpoll *np;
|
|
|
int err;
|
|
|
|
|
|
- if (!team->dev->npinfo)
|
|
|
- return 0;
|
|
|
-
|
|
|
np = kzalloc(sizeof(*np), GFP_KERNEL);
|
|
|
if (!np)
|
|
|
return -ENOMEM;
|
|
@@ -1093,6 +1090,14 @@ static int team_port_enable_netpoll(struct team *team, struct team_port *port)
|
|
|
return err;
|
|
|
}
|
|
|
|
|
|
+static int team_port_enable_netpoll(struct team_port *port)
|
|
|
+{
|
|
|
+ if (!port->team->dev->npinfo)
|
|
|
+ return 0;
|
|
|
+
|
|
|
+ return __team_port_enable_netpoll(port);
|
|
|
+}
|
|
|
+
|
|
|
static void team_port_disable_netpoll(struct team_port *port)
|
|
|
{
|
|
|
struct netpoll *np = port->np;
|
|
@@ -1107,7 +1112,7 @@ static void team_port_disable_netpoll(struct team_port *port)
|
|
|
kfree(np);
|
|
|
}
|
|
|
#else
|
|
|
-static int team_port_enable_netpoll(struct team *team, struct team_port *port)
|
|
|
+static int team_port_enable_netpoll(struct team_port *port)
|
|
|
{
|
|
|
return 0;
|
|
|
}
|
|
@@ -1221,7 +1226,7 @@ static int team_port_add(struct team *team, struct net_device *port_dev,
|
|
|
goto err_vids_add;
|
|
|
}
|
|
|
|
|
|
- err = team_port_enable_netpoll(team, port);
|
|
|
+ err = team_port_enable_netpoll(port);
|
|
|
if (err) {
|
|
|
netdev_err(dev, "Failed to enable netpoll on device %s\n",
|
|
|
portname);
|
|
@@ -1918,7 +1923,7 @@ static int team_netpoll_setup(struct net_device *dev,
|
|
|
|
|
|
mutex_lock(&team->lock);
|
|
|
list_for_each_entry(port, &team->port_list, list) {
|
|
|
- err = team_port_enable_netpoll(team, port);
|
|
|
+ err = __team_port_enable_netpoll(port);
|
|
|
if (err) {
|
|
|
__team_netpoll_cleanup(team);
|
|
|
break;
|