[haiku-bugs] Re: [Haiku] #7520: USB mouse can't work when IO-APIC is enabled

  • From: "mmlr" <trac@xxxxxxxxxxxx>
  • Date: Fri, 20 May 2011 01:32:54 -0000

#7520: USB mouse can't work when IO-APIC is enabled
-----------------------------+----------------------------
   Reporter:  mt             |      Owner:  mmlr
       Type:  bug            |     Status:  assigned
   Priority:  normal         |  Milestone:  R1
  Component:  System/Kernel  |    Version:  R1/Development
 Resolution:                 |   Keywords:
 Blocked By:                 |   Blocking:
Has a Patch:  0              |   Platform:  x86
-----------------------------+----------------------------

Comment (by mmlr):

 Looks like the missing Matrox card match could very well be the problem
 here. The matrox driver will actually install an interrupt handler and
 enable interrupts. But since it thinks it's on the (unmatched, still BIOS
 assigned) interrupt line 11, it doesn't get anything there. On the other
 hand it actually is mapped to interrupt line 16 on the IO-APIC, together
 with two PCIe ports, a PCI brige, the MEI controller and the one EHCI
 controller. The EHCI controller is the only one that actually has a
 handler installed at 16. The interrupt code now sees lots of unhandled
 interrupts on 16 because the matrox driver enabled them, but attached the
 interrupt handler to the wrong vector 11 (not knowing any better due to
 the missing match of the PCI routing table). Since there is only one
 handler installed for vector 16 (EHCI) the interrupt code now concludes
 that it is a non-shared vector where the handler is defunct and simply
 disables the interrupt vector alltogether (this is printed to the syslog,
 line 2066 in the attached one: {{{Disabling unhandled io interrupt 16}}}).
 The legitimate EHCI interrupts now don't go through anymore and the
 devices attached to the ports handled by that controller fail...

 If you can, please still provide the "ints" KDL output, to verify that my
 theory is at work at all. Please also try running Haiku in failsafe video
 mode so the matrox driver isn't used. That should then result in the
 interrupt not being disabled and USB devices should continue to work.

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/7520#comment:9>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: