Re: [PATCH] nubus: Unconditionally register bus type

From: Geert Uytterhoeven
Date: Tue May 08 2018 - 03:07:34 EST


Hi Greg,

On Tue, May 8, 2018 at 9:00 AM, Greg Kroah-Hartman
<gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> On Mon, May 07, 2018 at 09:51:12AM +1200, Michael Schmitz wrote:
>> the BUG() was triggered by loading a Mac Nubus network card module on
>> a multiplatform kernel running on an Amiga machine. Up to Finn's Nubus
>> core rewrite (this February), we've seen no errors. Since then, Nubus
>> drivers fail to register because the Nubus bus is only registered on
>> Macs.
>>
>> Can't see link order involved here at all.
>
> The link order is totally involved here :)
>
> Link order determines the order in which init calls are run, so you need
> to ensure that your bus code comes before any drivers that use that bus
> code in link order. That way, at init time, your bus is created first,
> preventing this type of error to happen.

The issue here is not due to link ordering, but due to the bus not being
registered on a system that doesn't have that particular bus.

Akin to booting a kernel on an old PC without PCI, and loading a driver
module for a PCI network card. I guess that doesn't crash (because no one
has a PC without PCI anymore? ;-)

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds