zorro: Fix address space collision message with RAM expansion boards
diff mbox series

Message ID 20200713072429.6182-1-geert@linux-m68k.org
State Accepted
Commit ea2abe2fd59a73b26c01e9a3bb83efc46e44face
Headers show
Series
  • zorro: Fix address space collision message with RAM expansion boards
Related show

Commit Message

Geert Uytterhoeven July 13, 2020, 7:24 a.m. UTC
When booting Linux on an Amiga with BigRAMPlus Zorro expansion board:

    zorro: Address space collision on device Zorro device 12128600 (Individual Computers) [??? 0x50000000-]

This happens because the address space occupied by the BigRAMPlus Zorro
device is already in use, as it is part of system RAM.  Hence the
message is harmless.

Zorro memory expansion boards have the ERTF_MEMLIST flag set, which
tells AmigaOS to link the board's RAM into the free memory list.  While
we could skip registering the board resource if this flag is set, that
may cause issues with Zorro II RAM excluded in a memfile.

Hence fix the issue by just ignoring the error if ERTF_MEMLIST is set.

Reported-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
 drivers/zorro/zorro.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Geert Uytterhoeven Aug. 26, 2020, 11:28 a.m. UTC | #1
On Mon, Jul 13, 2020 at 9:24 AM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> When booting Linux on an Amiga with BigRAMPlus Zorro expansion board:
>
>     zorro: Address space collision on device Zorro device 12128600 (Individual Computers) [??? 0x50000000-]
>
> This happens because the address space occupied by the BigRAMPlus Zorro
> device is already in use, as it is part of system RAM.  Hence the
> message is harmless.
>
> Zorro memory expansion boards have the ERTF_MEMLIST flag set, which
> tells AmigaOS to link the board's RAM into the free memory list.  While
> we could skip registering the board resource if this flag is set, that
> may cause issues with Zorro II RAM excluded in a memfile.
>
> Hence fix the issue by just ignoring the error if ERTF_MEMLIST is set.
>
> Reported-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>

Applied, and queued in the m68k for-v5.10 branch.

Gr{oetje,eeting}s,

                        Geert


--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

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
John Paul Adrian Glaubitz Aug. 26, 2020, 11:34 a.m. UTC | #2
On 8/26/20 1:28 PM, Geert Uytterhoeven wrote:
> On Mon, Jul 13, 2020 at 9:24 AM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>> When booting Linux on an Amiga with BigRAMPlus Zorro expansion board:
>>
>>     zorro: Address space collision on device Zorro device 12128600 (Individual Computers) [??? 0x50000000-]
>>
>> This happens because the address space occupied by the BigRAMPlus Zorro
>> device is already in use, as it is part of system RAM.  Hence the
>> message is harmless.
>>
>> Zorro memory expansion boards have the ERTF_MEMLIST flag set, which
>> tells AmigaOS to link the board's RAM into the free memory list.  While
>> we could skip registering the board resource if this flag is set, that
>> may cause issues with Zorro II RAM excluded in a memfile.
>>
>> Hence fix the issue by just ignoring the error if ERTF_MEMLIST is set.
>>
>> Reported-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
>> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
> 
> Applied, and queued in the m68k for-v5.10 branch.

Oh, that reminds me. I should dig out the Big-RAM-Plus again. I still haven't
found it after my last move but I know where to find it (hopefully ;-)).

Adrian

Patch
diff mbox series

diff --git a/drivers/zorro/zorro.c b/drivers/zorro/zorro.c
index 47c733817903f303..1b9928648583193c 100644
--- a/drivers/zorro/zorro.c
+++ b/drivers/zorro/zorro.c
@@ -181,7 +181,7 @@  static int __init amiga_zorro_probe(struct platform_device *pdev)
 		z->resource.name = z->name;
 		r = zorro_find_parent_resource(pdev, z);
 		error = request_resource(r, &z->resource);
-		if (error)
+		if (error && !(z->rom.er_Type & ERTF_MEMLIST))
 			dev_err(&bus->dev,
 				"Address space collision on device %s %pR\n",
 				z->name, &z->resource);