From: cl349@firebug.cl.cam.ac.uk Date: Mon, 29 Aug 2005 17:15:56 +0000 (+0000) Subject: Update suspend/resume functions for xenbus. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~16814^2~85^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=1b7bae227d9e2421af2c17a65f750bf118653ca3;p=xen.git Update suspend/resume functions for xenbus. Signed-off-by: Christian Limpach --- diff --git a/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c b/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c index 9ecf176e73..6073c6b265 100644 --- a/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c +++ b/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c @@ -1272,25 +1272,24 @@ static int netfront_remove(struct xenbus_device *dev) static int netfront_suspend(struct xenbus_device *dev) { - struct net_private *np = dev->data; - /* Avoid having tx/rx stuff happen until we're ready. */ - unbind_evtchn_from_irqhandler(np->evtchn, np->netdev); - return 0; + struct netfront_info *info = dev->data; + + unregister_xenbus_watch(&info->watch); + kfree(info->backend); + info->backend = NULL; + + netif_free(info); + + return 0; } static int netfront_resume(struct xenbus_device *dev) { - struct net_private *np = dev->data; - /* - * Connect regardless of whether IFF_UP flag set. - * Stop bad things from happening until we're back up. - */ - np->backend_state = BEST_DISCONNECTED; - memset(np->tx, 0, PAGE_SIZE); - memset(np->rx, 0, PAGE_SIZE); - - // send_interface_connect(np); - return 0; + struct net_private *np = dev->data; + int err; + + err = talk_to_backend(dev, np); + return err; } static struct xenbus_driver netfront = {