Messages in this thread | | | Date | Fri, 15 Jan 1999 03:37:25 -0500 (EST) | From | Chuck Lever <> | Subject | USB and IDE autodetection |
| |
alan-
i was screwing around with the BIOS on my home PC (which runs Linux), and noticed that there was an on-board USB controller (Epox mb with VIA VP3 chipset). i enabled it because the PC dual-boots W98, and i wanted to play a little. [ W98 is so i can run digital audio mixing and recording software ].
a few days later, i noticed some strange behavior -- Linux would boot, but couldn't mount its root partition because ide0 was requesting IRQ -11. a reboot usually cleared the problem. also, if no CD was in the CD-ROM drive, it would also request IRQ -11 for the CD-ROM drive.
i had forgotten all about the USB controller change, so i didn't suspect it. but tonight i chased down the problem, and it looks like the on-board USB controller is bolixing IDE's IRQ auto-detect code. i can get the hard drive IRQ auto-detection to fail reproducibly by adding 3 or 4 printk's to try_to_identify(), which slows it down enough that the USB controller response will confuse the logic in try_to_identify().
i fixed my own problem by disabling the on-board USB controller, but since you seem to be working on USB, i thought i would pass this anecdote along to you.
but also, the logic in try_to_identify() was misbehaving. it should have reported "ide1: IRQ probe failed". this is what the source suggests should happen when multiple IRQ responses occur during the initial probe. but instead, the code continues quietly until it reports "ide1: UNABLE TO GET IRQ -11", in the end of hwif_init(). i don't know why this is happening.
- Chuck Lever -- corporate: <chuckl@netscape.com> personal: <chucklever@netscape.net> or <cel@monkey.org>
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |