Re: psm0: unable to allocation IRQ (solution, well workaround)

From: Gary Jennejohn <gary.jennejohn_at_freenet.de>
Date: Mon, 21 Sep 2009 11:14:07 +0200
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
Received on Mon Sep 21 2009 - 07:14:11 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:55 UTC