aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2004-12-01 11:23:24 +0000
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2004-12-01 11:23:24 +0000
commit40adb357570be352428993abeb7479aaa988e397 (patch)
tree288bfeb3b13afcd02ffb42e4ad83d6b9b8552ea9
parente44d6d5992257a6d22b19ea8ee76203962e8fe48 (diff)
downloadxen-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.c12
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;
}