VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / drivers / usb / host / ohci-sa1111.c
index 5b599cb..c3cd76a 100644 (file)
@@ -237,7 +237,6 @@ int usb_hcd_sa1111_probe (const struct hc_driver *driver,
  */
 void usb_hcd_sa1111_remove (struct usb_hcd *hcd, struct sa1111_dev *dev)
 {
-       struct usb_device       *hub;
        void *base;
 
        info ("remove: %s, state %x", hcd->self.bus_name, hcd->state);
@@ -245,11 +244,10 @@ void usb_hcd_sa1111_remove (struct usb_hcd *hcd, struct sa1111_dev *dev)
        if (in_interrupt ())
                BUG ();
 
-       hub = hcd->self.root_hub;
        hcd->state = USB_STATE_QUIESCING;
 
        dbg ("%s: roothub graceful disconnect", hcd->self.bus_name);
-       usb_disconnect (&hub);
+       usb_disconnect (&hcd->self.root_hub);
 
        hcd->driver->stop (hcd);
        hcd->state = USB_STATE_HALT;
@@ -348,6 +346,10 @@ static const struct hc_driver ohci_sa1111_hc_driver = {
         */
        .hub_status_data =      ohci_hub_status_data,
        .hub_control =          ohci_hub_control,
+#ifdef CONFIG_USB_SUSPEND
+       .hub_suspend =          ohci_hub_suspend,
+       .hub_resume =           ohci_hub_resume,
+#endif
 };
 
 /*-------------------------------------------------------------------------*/