netpoll: move np->dev and np->dev_name init into __netpoll_setup()
Signed-off-by: Jiri Pirko <jiri@resnulli.us> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
0c24604b68
Коммит
30fdd8a082
|
@ -1240,9 +1240,7 @@ static inline int slave_enable_netpoll(struct slave *slave)
|
|||
if (!np)
|
||||
goto out;
|
||||
|
||||
np->dev = slave->dev;
|
||||
strlcpy(np->dev_name, slave->dev->name, IFNAMSIZ);
|
||||
err = __netpoll_setup(np);
|
||||
err = __netpoll_setup(np, slave->dev);
|
||||
if (err) {
|
||||
kfree(np);
|
||||
goto out;
|
||||
|
|
|
@ -43,7 +43,7 @@ struct netpoll_info {
|
|||
void netpoll_send_udp(struct netpoll *np, const char *msg, int len);
|
||||
void netpoll_print_options(struct netpoll *np);
|
||||
int netpoll_parse_options(struct netpoll *np, char *opt);
|
||||
int __netpoll_setup(struct netpoll *np);
|
||||
int __netpoll_setup(struct netpoll *np, struct net_device *ndev);
|
||||
int netpoll_setup(struct netpoll *np);
|
||||
int netpoll_trap(void);
|
||||
void netpoll_set_trap(int trap);
|
||||
|
|
|
@ -681,10 +681,7 @@ static int vlan_dev_netpoll_setup(struct net_device *dev, struct netpoll_info *n
|
|||
if (!netpoll)
|
||||
goto out;
|
||||
|
||||
netpoll->dev = real_dev;
|
||||
strlcpy(netpoll->dev_name, real_dev->name, IFNAMSIZ);
|
||||
|
||||
err = __netpoll_setup(netpoll);
|
||||
err = __netpoll_setup(netpoll, real_dev);
|
||||
if (err) {
|
||||
kfree(netpoll);
|
||||
goto out;
|
||||
|
|
|
@ -246,10 +246,7 @@ int br_netpoll_enable(struct net_bridge_port *p)
|
|||
if (!np)
|
||||
goto out;
|
||||
|
||||
np->dev = p->dev;
|
||||
strlcpy(np->dev_name, p->dev->name, IFNAMSIZ);
|
||||
|
||||
err = __netpoll_setup(np);
|
||||
err = __netpoll_setup(np, p->dev);
|
||||
if (err) {
|
||||
kfree(np);
|
||||
goto out;
|
||||
|
|
|
@ -715,14 +715,16 @@ int netpoll_parse_options(struct netpoll *np, char *opt)
|
|||
}
|
||||
EXPORT_SYMBOL(netpoll_parse_options);
|
||||
|
||||
int __netpoll_setup(struct netpoll *np)
|
||||
int __netpoll_setup(struct netpoll *np, struct net_device *ndev)
|
||||
{
|
||||
struct net_device *ndev = np->dev;
|
||||
struct netpoll_info *npinfo;
|
||||
const struct net_device_ops *ops;
|
||||
unsigned long flags;
|
||||
int err;
|
||||
|
||||
np->dev = ndev;
|
||||
strlcpy(np->dev_name, ndev->name, IFNAMSIZ);
|
||||
|
||||
if ((ndev->priv_flags & IFF_DISABLE_NETPOLL) ||
|
||||
!ndev->netdev_ops->ndo_poll_controller) {
|
||||
np_err(np, "%s doesn't support polling, aborting\n",
|
||||
|
@ -851,13 +853,11 @@ int netpoll_setup(struct netpoll *np)
|
|||
np_info(np, "local IP %pI4\n", &np->local_ip);
|
||||
}
|
||||
|
||||
np->dev = ndev;
|
||||
|
||||
/* fill up the skb queue */
|
||||
refill_skbs();
|
||||
|
||||
rtnl_lock();
|
||||
err = __netpoll_setup(np);
|
||||
err = __netpoll_setup(np, ndev);
|
||||
rtnl_unlock();
|
||||
|
||||
if (err)
|
||||
|
|
Загрузка…
Ссылка в новой задаче