I was trying to make the IrDA stack work when compiled in the
kernel in 2.5.X (as opposed to modular). In 2.4.X, it sort of work,
but whoever made changes to the IrDA init in 2.5.X obviously didn't
bother to check what he was doing and check his changes.
So, I was trying to fix that, and I found a problem with
kernel link order.
The IrDA stack need to be initialised :
o the networking code (done in init/main.c)
o driver/char/random.c (done via __initcall())
o IrDA drivers (done via module_init())
o IrDA higher protocols (done via module_init())
As both the random driver and the irda drivers are at the same
init level, there is no way to enforce those dependancies. Currently,
the IrDA drivers are loaded before the IrDA stack (== kaboom).
Personally, I found it a bit strange the the random driver is
initialised so late in the game when the whole networking code (at
least) depends on it.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to firstname.lastname@example.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/