On Thursday 12 July 2007, Satyam Sharma wrote: > > > [2.] The version 2.6.22 of the linux kernel hangs when initializing the > > integrated ohci controller of the nvidia MCP51 chipset (pci device ids > > vendor:product == 10de:26d). I have traced through various printks that > > pci_init calls pci_fixup_device, later on in quirk_usb_ohci_handoff > > (file linux/drivers/usb/host/pci-quirks.c) kernel freezes in this > > section:
Note that hangs in that file almost always mean "your BIOS is goofy". Hunt for BIOS settings related to USB, and change them. As a rule, if you tell your BIOS to ignore USB devices (mostly keyboards and disks), it will have even less of an excuse to break like that. > > ... > > if (control & OHCI_CTRL_IR) { > > int wait_time = 500; > > writel(OHCI_INTR_OC, base + OHCI_INTRENABLE); > > writel(OHCI_ORC, base + OHCI_CMDSTATUS); // this never returns > > ... > > after this, kernel apparently goes into busy waiting (fans gradually > > turn louder) and hangs indefinitely. I have also made sure that writel > > (in linux/include/asm/io.h) really is entered, but never returns. Does the current kernel.org GIT tree do the same thing? A bunch of USB patches were recently merged, including ISTR one in that area ... > > I can only guess that it might > > have to do with the patch > > "commit 4302a595cd9c6363b495460497ecbda49fa16858 > > Author: Benjamin Herrenschmidt <[EMAIL PROTECTED]> > > Date: Fri Dec 15 06:53:55 2006 +1100 > > USB: Rework the OHCI quirk mecanism as suggested by David > > " > > but I don't really have a clue, so this might be groundless suspicion. Should be unrelated. That patch related to how vendor-specific implementation differences get detected and handled ... basically just switching to a table-driven approach that can even handle board-specific wiring braindamage, rather than the original scheme which was just a big if/then/else looking only at chip vendors. - Dave - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/