From stern@rowland.harvard.edu Mon Sep  5 10:58:12 2005
Date: Mon, 5 Sep 2005 13:55:23 -0400 (EDT)
From: Alan Stern <stern@rowland.harvard.edu>
To: Greg KH <greg@kroah.com>
Subject: usbcore: small changes to HCD glue layer
Message-ID: <Pine.LNX.4.44L0.0509051352260.6343-100000@iolanthe.rowland.org>


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 |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--- gregkh-2.6.orig/drivers/usb/core/hcd.c	2005-09-12 10:47:36.000000000 -0700
+++ gregkh-2.6/drivers/usb/core/hcd.c	2005-09-12 11:01:53.000000000 -0700
@@ -1606,7 +1606,7 @@ irqreturn_t usb_hcd_irq (int irq, void *
 		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,
