[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [NET] front: Clean up error handling. This eliminates earlier
# HG changeset patch # User kfraser@xxxxxxxxxxxxxxxxxxxxx # Node ID b6de597411610bb9b9ac5077e23a68e22085884e # Parent 6ad98bc30cb4b8e2b59e91e0bf4fbf7099609bc4 [NET] front: Clean up error handling. This eliminates earlier workaround patch for an observed crash. Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx> --- linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c | 25 +------------------ 1 files changed, 2 insertions(+), 23 deletions(-) diff -r 6ad98bc30cb4 -r b6de59741161 linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c --- a/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c Tue Oct 31 15:54:03 2006 +0000 +++ b/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c Tue Oct 31 16:18:07 2006 +0000 @@ -242,7 +242,6 @@ static void netif_disconnect_backend(str static void netif_disconnect_backend(struct netfront_info *); static int open_netdev(struct netfront_info *); static void close_netdev(struct netfront_info *); -static void netif_free(struct netfront_info *); static int network_connect(struct net_device *); static void network_tx_buf_gc(struct net_device *); @@ -427,7 +426,6 @@ again: out: return err; } - static int setup_device(struct xenbus_device *dev, struct netfront_info *info) { @@ -488,10 +486,8 @@ static int setup_device(struct xenbus_de return 0; fail: - netif_free(info); return err; } - /** * Callback received when the backend's state changes. @@ -513,23 +509,17 @@ static void backend_changed(struct xenbu break; case XenbusStateInitWait: - if (network_connect(netdev) != 0) { - netif_free(np); + if (network_connect(netdev) != 0) break; - } xenbus_switch_state(dev, XenbusStateConnected); (void)send_fake_arp(netdev); break; case XenbusStateClosing: - if (dev->state == XenbusStateConnected) - netfront_closing(dev); - else - printk(KERN_DEBUG "Netfront: going to state Closing without being connected...\n"); + netfront_closing(dev); break; } } - /** Send a packet on a net device to encourage switches to learn the * MAC. We send a fake ARP request. @@ -558,7 +548,6 @@ static int send_fake_arp(struct net_devi return dev_queue_xmit(skb); } - static int network_open(struct net_device *dev) { @@ -651,13 +640,11 @@ static void network_tx_buf_gc(struct net network_maybe_wake_tx(dev); } - static void rx_refill_timeout(unsigned long data) { struct net_device *dev = (struct net_device *)data; netif_rx_schedule(dev); } - static void network_alloc_rx_buffers(struct net_device *dev) { @@ -2066,14 +2053,6 @@ static void netif_disconnect_backend(str } -static void netif_free(struct netfront_info *info) -{ - close_netdev(info); - netif_disconnect_backend(info); - free_netdev(info->netdev); -} - - static void end_access(int ref, void *page) { if (ref != GRANT_INVALID_REF) _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |