psm0: unable to allocation IRQ (solution, well workaround)
Gary Jennejohn
gary.jennejohn at freenet.de
Mon Sep 21 09:14:11 UTC 2009
On Sun, 20 Sep 2009 22:33:59 -0400
"David E. Cross" <crossd at cs.rpi.edu> wrote:
> I recently stumbled across this bug, and I have a solution to my
> specific case.
>
> The problem is the following:
> acpi_ibm0: <IBM ThinkPad ACPI Extras> irq 12 on acpi0
>
>
> _IF_, I put "device acpi_ibm" into the kernel config, disaster, psm0 is
> unable to attach.
>
> If I "acpi_ibm_load="YES"" in /boot/loader.conf, I then get the
> following:
> acpi_ibm0: <IBM ThinkPad ACPI Extras> on acpi0
>
> Note the lack of "irq12"
>
> Which then frees up:
>
> psm0: <PS/2 Mouse> irq 12 on atkbdc0
>
>
> Now, psm0 maps its IRQ as RF_SHAREABLE, so it _should_ work regardless,
> right?
>
> I'd regard this as a fairly serious bug.
>
> I'm really at a loss of where to track it down more, looking at the
> acpi_ibm code, its pretty opaque as to how resource allocations are done
> and why this would ever map irq 12 (well, at least to me).
>
I would guess (note - guess) that it's a matter of ordering in the kernel.
When acpi_ibm is in the kernel it gets probed and attached before psm by
the ACPI code and wins the race for irq allocation.
If it's loaded as a module then psm has already gotten irq 12 so
acpi_ibm is not assigned an irq.
---
Gary Jennejohn
More information about the freebsd-current
mailing list