> In the new dmesg: > pckbc1 at acpi0 addr 0x60/0x1 0x64/0x1 irq 1: "MAT0024" > pckbd0 at pckbc1 (kbd slot) > wskbd0 at pckbd0: console keyboard > pms0 at pckbc1 (aux slot) > wsmouse0 at pms0 mux 0 > pckbc2 at acpi0 irq 12: "SYN0502" > > (with no mouse on the second controller).
When pckbc at acpi attaches twice, the second device attachment is only there to claim the acpi node with the interrupt information for the mouse. This interrupt information is used to update the first device attachment. However in your DSDT information, while interrupt information for IRQ 1 (keyboard) is correct: edge triggered, active high, the interrupt information for IRQ 12 (mouse) is incorrect: level triggered, active high. And this is what breaks mouse operation on that machine. We could change the code to assume that the mouse interrupt has the same characteristics as the keyboard interrupt rather than trust what the DSDT tells us, but I am worried this would in turn break other systems...