diff options
author | kaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk> | 2004-12-01 11:23:24 +0000 |
---|---|---|
committer | kaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk> | 2004-12-01 11:23:24 +0000 |
commit | 40adb357570be352428993abeb7479aaa988e397 (patch) | |
tree | 288bfeb3b13afcd02ffb42e4ad83d6b9b8552ea9 | |
parent | e44d6d5992257a6d22b19ea8ee76203962e8fe48 (diff) | |
download | xen-40adb357570be352428993abeb7479aaa988e397.tar.gz xen-40adb357570be352428993abeb7479aaa988e397.tar.bz2 xen-40adb357570be352428993abeb7479aaa988e397.zip |
bitkeeper revision 1.1159.187.46 (41ada9acdxj1sndHML6zY6jvbR0CFg)
Fix netback driver to correctly free the net device struct.
-rw-r--r-- | linux-2.6.9-xen-sparse/drivers/xen/netback/interface.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/linux-2.6.9-xen-sparse/drivers/xen/netback/interface.c b/linux-2.6.9-xen-sparse/drivers/xen/netback/interface.c index 406d253fda..baa50ace22 100644 --- a/linux-2.6.9-xen-sparse/drivers/xen/netback/interface.c +++ b/linux-2.6.9-xen-sparse/drivers/xen/netback/interface.c @@ -35,8 +35,8 @@ static void __netif_disconnect_complete(void *arg) /* * These can't be done in netif_disconnect() because at that point there - * may be outstanding requests at the disc whose asynchronous responses - * must still be notified to the remote driver. + * may be outstanding requests in the network stack whose asynchronous + * responses must still be notified to the remote driver. */ unbind_evtchn_from_irq(netif->evtchn); vfree(netif->tx); /* Frees netif->rx as well. */ @@ -84,7 +84,7 @@ void netif_create(netif_be_create_t *create) unsigned int handle = create->netif_handle; struct net_device *dev; netif_t **pnetif, *netif; - char name[IFNAMSIZ] = {}; + char name[IFNAMSIZ]; snprintf(name, IFNAMSIZ - 1, "vif%u.%u", domid, handle); dev = alloc_netdev(sizeof(netif_t), name, ether_setup); @@ -116,7 +116,7 @@ void netif_create(netif_be_create_t *create) { DPRINTK("Could not create netif: already exists\n"); create->status = NETIF_BE_STATUS_INTERFACE_EXISTS; - kfree(dev); + free_netdev(dev); return; } pnetif = &(*pnetif)->hash_next; @@ -137,7 +137,7 @@ void netif_create(netif_be_create_t *create) DPRINTK("Could not register new net device %s: err=%d\n", dev->name, err); create->status = NETIF_BE_STATUS_OUT_OF_MEMORY; - kfree(dev); + free_netdev(dev); return; } @@ -176,7 +176,7 @@ void netif_destroy(netif_be_destroy_t *destroy) destroy: *pnetif = netif->hash_next; unregister_netdev(netif->dev); - kfree(netif->dev); + free_netdev(netif->dev); destroy->status = NETIF_BE_STATUS_OKAY; } |