diff options
| author | H. Peter Anvin <hpa@zytor.com> | 2010-02-10 16:55:28 -0800 |
|---|---|---|
| committer | H. Peter Anvin <hpa@zytor.com> | 2010-02-10 16:55:28 -0800 |
| commit | 84abd88a70090cf00f9e45c3a81680874f17626e (patch) | |
| tree | 4f58b80057f6e1f5817af1dc33a5458b3dfc9a99 /drivers/net/loopback.c | |
| parent | 13ca0fcaa33f6b1984c4111b6ec5df42689fea6f (diff) | |
| parent | e28cab42f384745c8a947a9ccd51e4aae52f5d51 (diff) | |
Merge remote branch 'linus/master' into x86/bootmem
Diffstat (limited to 'drivers/net/loopback.c')
| -rw-r--r-- | drivers/net/loopback.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/drivers/net/loopback.c b/drivers/net/loopback.c index 1bc654a73c4..b9fcc981983 100644 --- a/drivers/net/loopback.c +++ b/drivers/net/loopback.c @@ -81,7 +81,7 @@ static netdev_tx_t loopback_xmit(struct sk_buff *skb, /* it's OK to use per_cpu_ptr() because BHs are off */ pcpu_lstats = dev->ml_priv; - lb_stats = per_cpu_ptr(pcpu_lstats, smp_processor_id()); + lb_stats = this_cpu_ptr(pcpu_lstats); len = skb->len; if (likely(netif_rx(skb) == NET_RX_SUCCESS)) { @@ -207,20 +207,12 @@ static __net_init int loopback_net_init(struct net *net) out_free_netdev: free_netdev(dev); out: - if (net == &init_net) + if (net_eq(net, &init_net)) panic("loopback: Failed to register netdevice: %d\n", err); return err; } -static __net_exit void loopback_net_exit(struct net *net) -{ - struct net_device *dev = net->loopback_dev; - - unregister_netdev(dev); -} - /* Registered in net/core/dev.c */ struct pernet_operations __net_initdata loopback_net_ops = { .init = loopback_net_init, - .exit = loopback_net_exit, }; |
