X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fxen%2Fpciback%2Fxenbus.c;h=a1f797e247e5d62d0feb437dfb30d3bcc8a10c61;hb=refs%2Fheads%2Fvserver;hp=86223a35ec8d977eb057f7c05c2c6a0292d58d0b;hpb=1db395853d4f30d6120458bd279ede1f882a8525;p=linux-2.6.git diff --git a/drivers/xen/pciback/xenbus.c b/drivers/xen/pciback/xenbus.c index 86223a35e..a1f797e24 100644 --- a/drivers/xen/pciback/xenbus.c +++ b/drivers/xen/pciback/xenbus.c @@ -32,7 +32,7 @@ static struct pciback_device *alloc_pdev(struct xenbus_device *xdev) pdev->evtchn_irq = INVALID_EVTCHN_IRQ; pdev->be_watching = 0; - INIT_WORK(&pdev->op_work, pciback_do_op, pdev); + INIT_DELAYED_WORK(&pdev->op_work, pciback_do_op); if (pciback_init_devices(pdev)) { kfree(pdev); @@ -181,6 +181,7 @@ static void pciback_frontend_changed(struct xenbus_device *xdev, xenbus_switch_state(xdev, XenbusStateClosing); break; + case XenbusStateUnknown: case XenbusStateClosed: dev_dbg(&xdev->dev, "frontend is gone! unregister device\n"); device_unregister(&xdev->dev);