Compiles, but untested.
This removes suspend and resume path recursion in UHCI. Signed-off-by: David Brownell <[EMAIL PROTECTED]> --- g26.orig/drivers/usb/host/uhci-hcd.c 2005-09-22 16:44:58.000000000 -0700 +++ g26/drivers/usb/host/uhci-hcd.c 2005-09-22 22:15:21.000000000 -0700 @@ -774,11 +774,6 @@ static int uhci_suspend(struct usb_hcd * if (uhci->hc_inaccessible) /* Dead or already suspended */ goto done; -#ifndef CONFIG_USB_SUSPEND - /* Otherwise this would never happen */ - suspend_rh(uhci, UHCI_RH_SUSPENDED); -#endif - if (uhci->rh_state > UHCI_RH_SUSPENDED) { dev_warn(uhci_dev(uhci), "Root hub isn't suspended!\n"); hcd->state = HC_STATE_RUNNING; @@ -820,10 +815,6 @@ static int uhci_resume(struct usb_hcd *h check_and_reset_hc(uhci); configure_hc(uhci); -#ifndef CONFIG_USB_SUSPEND - /* Otherwise this would never happen */ - wakeup_rh(uhci); -#endif if (uhci->rh_state == UHCI_RH_RESET) suspend_rh(uhci, UHCI_RH_SUSPENDED);