[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: uhci picks up interrupts that don't belong
Hi.
I've been about to commit a fix for that (I have the exact same
behaviour), but have been waiting for a review on whether it's the "proper
way" to do this or not. Still, the patch works as expected.
Index: uhci.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/uhci.c,v
retrieving revision 1.14
diff -u -r1.14 uhci.c
--- uhci.c 2000/09/06 22:42:10 1.14
+++ uhci.c 2000/11/03 14:49:28
@@ -1059,8 +1059,9 @@
}
if (status & UHCI_STS_HCH) {
/* no acknowledge needed */
- printf("%s: host controller halted\n",
- USBDEVNAME(sc->sc_bus.bdev));
+ if (!sc->sc_dying)
+ printf("%s: host controller halted\n",
+ USBDEVNAME(sc->sc_bus.bdev));
sc->sc_dying = 1;
#ifdef UHCI_DEBUG
uhci_dump_all(sc);
(Trying to acknowledge the UCHI_STS_HCH bit instead, btw, does not work,
and a "my interrupt"-check (which in itself maybe isn't enough?) is
actually being done.)
//Håkan
On Wed, 25 Oct 2000, Peter Galbavy wrote:
> In case anyone know the quick fix to this - having seen the recent
> commit to the hifn driver - I have a VAIO with various stuff in it.
> The uhci driver is OK when the machine is first booted, but then if
> any other device that shares the irq (9 in this case) is detached or
> the system goes through an apm sleep -> wake cycle, the uhci driver
> seems to process any and all intr for these other device, and reports
> "uhci0 host controller halted" or very similar (dmesg printf not
> available just now). Anyhow, I guess the driver is not checking
> correctly if the intr is for it or another device.
>
> grep of dmesg:
>
> uhci0 at pci0 dev 7 function 2 vendor 0x8086 product 0x7112 rev 0x01: irq 9
> fxp0 at pci0 dev 11 function 0 vendor 0x8086 product 0x1229 rev 0x08: irq 9, address 08:00:46:07:82:fb
> cbb0 at pci0 dev 12 function 0 vendor 0x1180 product 0x0475 rev 0x80: irq 9
>
> --
> Peter Galbavy
> Knowledge Matters Ltd
> http://www.knowledge.com/
>
>
>
--
Håkan Olsson <ho@crt.se> (+46) 708 437 337 Carlstedt Research
Unix, Networking, Security (+46) 31 701 4264 & Technology AB