fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / xen / pciback / xenbus.c
index 86223a3..a1f797e 100644 (file)
@@ -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);