[PATCH] usbcore: small changes to HCD glue layer
authorAlan Stern <stern@rowland.harvard.edu>
Mon, 5 Sep 2005 17:55:23 +0000 (13:55 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 12 Sep 2005 19:23:39 +0000 (12:23 -0700)
This patch (as549) introduces two small changes in the HCD glue layer.
The first simply removes a redundant test.  The second allows root-hub
polling to continue for a single iteration after a host controller dies;
this is needed for the patch that follows.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/core/hcd.c

index 12ecdb03ee5f20afd3bcef220e8aded0bb30857c..1017a97a418b110e7e5d6a55b56727d2bf17e79f 100644 (file)
@@ -1606,7 +1606,7 @@ irqreturn_t usb_hcd_irq (int irq, void *__hcd, struct pt_regs * r)
                return IRQ_NONE;
 
        hcd->saw_irq = 1;
-       if (hcd->state != start && hcd->state == HC_STATE_HALT)
+       if (hcd->state == HC_STATE_HALT)
                usb_hc_died (hcd);
        return IRQ_HANDLED;
 }
@@ -1630,7 +1630,6 @@ void usb_hc_died (struct usb_hcd *hcd)
        spin_lock_irqsave (&hcd_root_hub_lock, flags);
        if (hcd->rh_registered) {
                hcd->poll_rh = 0;
-               del_timer(&hcd->rh_timer);
 
                /* make khubd clean up old urbs and devices */
                usb_set_device_state (hcd->self.root_hub,