Skip to content

Commit

Permalink
xen/netfront: teardown the device before unregistering it.
Browse files Browse the repository at this point in the history
Fixes:
[   15.470311] WARNING: at /local/scratch/ianc/devel/kernels/linux/fs/sysfs/file.c:498 sysfs_attr_ns+0x95/0xa0()
[   15.470326] sysfs: kobject eth0 without dirent
[   15.470333] Modules linked in:
[   15.470342] Pid: 12, comm: xenwatch Not tainted 3.4.0-x86_32p-xenU torvalds#93
and
[    9.150554] BUG: unable to handle kernel paging request at 2b359000
[    9.150577] IP: [<c1279561>] linkwatch_do_dev+0x81/0xc0
[    9.150592] *pdpt = 000000002c3c9027 *pde = 0000000000000000
[    9.150604] Oops: 0002 [#1] SMP
[    9.150613] Modules linked in:

This is http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=675190

Reported-by: George Shuklin <[email protected]>
Signed-off-by: Ian Campbell <[email protected]>
Tested-by: William Dauchy <[email protected]>
Cc: [email protected]
Cc: [email protected]
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
Ian Campbell authored and davem330 committed Jun 27, 2012
1 parent 149ddd8 commit 6bc96d0
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions drivers/net/xen-netfront.c
Original file line number Diff line number Diff line change
Expand Up @@ -1935,14 +1935,14 @@ static int __devexit xennet_remove(struct xenbus_device *dev)

dev_dbg(&dev->dev, "%s\n", dev->nodename);

unregister_netdev(info->netdev);

xennet_disconnect_backend(info);

del_timer_sync(&info->rx_refill_timer);

xennet_sysfs_delif(info->netdev);

unregister_netdev(info->netdev);

del_timer_sync(&info->rx_refill_timer);

free_percpu(info->stats);

free_netdev(info->netdev);
Expand Down

0 comments on commit 6bc96d0

Please sign in to comment.