Folks:
It looks like the vmlocking merge borked the SA-11xx PCMCIA
driver's
ability to detect cards that are present on boot, which is
key
to at least the hpcarm port's ability to with root on a CF
card.
Looking at the changes in
sys/arch/arm/sa11x0/sa11x1_pcic.c, the
initial card-attachment (and card-event thread creation)
was at
one point done via a kthread... the vmlocking merge in rev.
1.14
changed it to be called directly from
sacpcic_attach_common().
What this means in practical terms is that cards present at
boot
don't attach presumably because other socket state (like
power,
etc.) hasn't yet been set up. When card detection is
deferred
until later, all works as before.
The create-one-kthread-to-spawn-another code is somewhat
silly,
so I've replaced it that with socket attach finalization
via
config_interrupts() instead...
Anyone have any objections to the patch below? I know the
code
needs whacking to fix the device_t usage, but I don't want
to
mix that up with the bugfix..
Thanks,
--rafal
--
Time is an illusion; lunchtime, doubly so. |//|
Rafal Boni
-- Ford Prefect |//|
rafal pobox.com
|