On Tue, Mar 29, 2011 at 7:41 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > On Tue, 29 Mar 2011, Andre "Osku" Schmidt wrote: > >> 00:0b.0 USB Controller [0c03]: nVidia Corporation MCP51 USB Controller >> [10de:026d] (rev a3) (prog-if 10 [OHCI]) >> Â Â Â Subsystem: Micro-Star International Co., Ltd. Device [1462:7350] >> Â Â Â Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 22 >> Â Â Â Memory at fbfff000 (32-bit, non-prefetchable) [size=4K] >> Â Â Â Capabilities: [44] Power Management version 2 >> Â Â Â Kernel driver in use: ohci_hcd >> Â Â Â Kernel modules: ohci-hcd > > Thanks. ÂIt looks like nVidia "fixed" their hardware at some point. > The old hardware doesn't work without the kernel patch and the new > hardware doesn't work with it! > > Try applying the patch below instead of your own change, and let me > know if does what you want. > > Alan Stern > > > > Index: usb-2.6/drivers/usb/host/ohci-pci.c > =================================================================== > --- usb-2.6.orig/drivers/usb/host/ohci-pci.c > +++ usb-2.6/drivers/usb/host/ohci-pci.c > @@ -207,10 +207,18 @@ static int ohci_quirk_amd700(struct usb_ > Â*/ > Âstatic int ohci_quirk_nvidia_shutdown(struct usb_hcd *hcd) > Â{ > + Â Â Â struct pci_dev *pdev = to_pci_dev(hcd->self.controller); > Â Â Â Âstruct ohci_hcd *ohci = hcd_to_ohci(hcd); > > - Â Â Â ohci->flags |= OHCI_QUIRK_SHUTDOWN; > - Â Â Â ohci_dbg(ohci, "enabled nVidia shutdown quirk\n"); > + Â Â Â /* Evidently nVidia fixed their later hardware; this is a guess at > + Â Â Â Â* the changeover point. > + Â Â Â Â*/ > +#define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_USB Â Â Â Â Â0x026d > + > + Â Â Â if (pdev->device < PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_USB) { > + Â Â Â Â Â Â Â ohci->flags |= OHCI_QUIRK_SHUTDOWN; > + Â Â Â Â Â Â Â ohci_dbg(ohci, "enabled nVidia shutdown quirk\n"); > + Â Â Â } > > Â Â Â Âreturn 0; > Â} YAY! it works! :D eg. patch goes cleanly (with patch -l..., cause im using web mail client, that probably messed the tab chars) and shutting down system now powers off usb devices again. as i was integrating this patch to the build process, i noticed that archlinux also uses these patches in the build process http://projects.archlinux.org/linux-2.6-ARCH.git/tree/patches?id=2.6.38.1-1 but none of them seem to modify this file, so i assume they cant be the source of my bug in the first place. but i can try without them, if needed. thank you very much for the fix, and let's hope nvidia didn't/wont't change it again :P cheers .andre -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html