# HG changeset patch # User gcosta@xxxxxxxxxx # Date 1166107279 18000 # Node ID ddab7c52fc80ffa867df2eaa99c9af2b4b4383a9 # Parent 35c724302bdd1339e17dad43085c841917a5dd88 [LINUX] Prevent closing netfront in double state change If it happens for xenbus to deliver a Closing change state for whatever reason, frontend will try to unregister already-unregistered structures, leading guest to BUG() Signed-off-by: Glauber de Oliveira Costa diff -r 35c724302bdd -r ddab7c52fc80 linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c --- a/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c Thu Dec 14 11:09:27 2006 +0000 +++ b/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c Thu Dec 14 09:41:19 2006 -0500 @@ -532,7 +532,10 @@ static void backend_changed(struct xenbu break; case XenbusStateClosing: - netfront_closing(dev); + if (dev->state != XenbusStateClosed) + netfront_closing(dev); + else + WPRINTK("Ignoring Closing request after already Closed"); break; } }