Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Sep 2009 11:14:07 +0200
From:      Gary Jennejohn <gary.jennejohn@freenet.de>
To:        "David E. Cross" <crossd@cs.rpi.edu>
Cc:        freebsd-current@freebsd.org
Subject:   Re: psm0: unable to allocation IRQ  (solution, well workaround)
Message-ID:  <20090921111407.248d068c@ernst.jennejohn.org>
In-Reply-To: <1253500439.24101.8.camel@kagome>
References:  <1253500439.24101.8.camel@kagome>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 20 Sep 2009 22:33:59 -0400
"David E. Cross" <crossd@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090921111407.248d068c>