The patch titled USB: allow both root-hub interrupts and polling has been added to the -mm tree. Its filename is usb-allow-both-root-hub-interrupts-and-polling.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: USB: allow both root-hub interrupts and polling From: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> This series of patches completely reworks the way ohci-hcd carries out root-hub autosuspends. The existing code is not compatible with the new core USB autosuspend mechanism. Patch 1 is a simple one-line change to usbcore with no harmful effects. It can go directly into both Greg's and Andrew's trees. Patch 2 removes the existing autosuspend code in ohci-hcd. It is essentially the same as a patch Rafael tried out; he confirmed that it got ohci-hcd to work on his machine both with CONFIG_USB_SUSPEND unset and with it set. This patch also can go directly into both trees. If anybody has been having trouble using their OHCI controllers with the recent -mm kernels, this should fix it. The downside is that now the controllers won't automatically get turned off when no devices are attached. Hopefully this state of affairs will be relatively short-lived. Patch 3 adds new "auto-stop" code to ohci-hcd. This will stop the controller only when no devices are attached, unlike the existing code which will also suspend the controller when all the attached devices are themselves suspended. That's okay, because "auto-stop" is meant to be used when CONFIG_USB_SUSPEND isn't set -- which means attached devices would _never_ be suspended. This patch: Originally I didn't think any host controller driver would ever use interrupts and polling at the same time, but it turns out ohci-hcd wants to do exactly that. This patch (as788) makes it possible. Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Cc: Greg KH <greg@xxxxxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- drivers/usb/core/hcd.c | 3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) diff -puN drivers/usb/core/hcd.c~usb-allow-both-root-hub-interrupts-and-polling drivers/usb/core/hcd.c --- a/drivers/usb/core/hcd.c~usb-allow-both-root-hub-interrupts-and-polling +++ a/drivers/usb/core/hcd.c @@ -835,8 +835,7 @@ void usb_enable_root_hub_irq (struct usb struct usb_hcd *hcd; hcd = container_of (bus, struct usb_hcd, self); - if (hcd->driver->hub_irq_enable && !hcd->poll_rh && - hcd->state != HC_STATE_HALT) + if (hcd->driver->hub_irq_enable && hcd->state != HC_STATE_HALT) hcd->driver->hub_irq_enable (hcd); } _ Patches currently in -mm which might be from stern@xxxxxxxxxxxxxxxxxxx are origin.patch fix-gregkh-usb-usbcore-add-autosuspend-autoresume-infrastructure.patch gregkh-usb-usbcore-add-autosuspend-autoresume-infrastructure-2.patch usb-allow-both-root-hub-interrupts-and-polling.patch ohci-remove-existing-autosuspend-code.patch ohci-add-auto-stop-support.patch block-layer-early-detection-of-medium-not-present.patch scsi-core-and-sd-early-detection-of-medium-not-present.patch sd-early-detection-of-medium-not-present.patch scsi-early-detection-of-medium-not-present-updated.patch add-section-on-function-return-values-to-codingstyle.patch add-srcu-based-notifier-chains.patch srcu-report-out-of-memory-errors.patch srcu-report-out-of-memory-errors-fixlet.patch cpufreq-make-the-transition_notifier-chain-use-srcu.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html