Re: e2b2rom_init_one(): Unable to register resource

From: Andi Kleen
Date: Sun Feb 18 2007 - 12:14:25 EST


[adding mtd maintainer]

On Sunday 18 February 2007 11:42, Cyrill Gorcunov wrote:
> On Sat, Feb 17, 2007 at 11:29:19PM +0200, Dan Aloni wrote:
> | Hello,
> |
> | I'm running the x86_64 arch of Linux 2.6.20 on a Supermicro X6DH8-XG2
> | board and I got this during boot:
> |
> | [248660.950695] device id = 2440
> | [248660.950699] device id = 2480
> | [248660.950703] device id = 24c0
> | [248660.950706] device id = 24d0
> | [248660.950709] matched device = 24d0
> | [248660.950712] matched device id 24d0
> | [248660.950716] pci_read_config_byte : 4
> | [248660.950723] esb2rom: esb2rom_init_one(): Unable to register resource
> | 0xffffffffffc00000-0xffffffff - kernel bug?
> | [248660.950729] esb2rom: ioremap(ffffffffffc00000, 100400000) failed
> | [248660.956859] retVal = -19
> |
> | Looks like some kind of a 64-bit portability bug...
> |
> | --
> | Dan Aloni
> | XIV LTD, http://www.xivstorage.com
> | da-x (at) monatomic.org, dan (at) xiv.co.il
> | -
> | To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> | the body of a message to majordomo@xxxxxxxxxxxxxxx
> | More majordomo info at http://vger.kernel.org/majordomo-info.html
> | Please read the FAQ at http://www.tux.org/lkml/
> |
>
> Hi,
>
> here is a patch attached to the mail. You may test it. Actually
> I have no 64bit machine to test it and I'm worried about the
> patch accuracy. So be carefull testing it. I sent a copy of the
> message to Andi Kleen (who is a maintainer of X86-64 port) may be
> we should wait for its answer ;)

Making window->phys u32 seems like a cleaner fix.
(untested)

-Andi

Fix 64bit arithmetic bug in esb2rom.c

Index: linux/drivers/mtd/maps/esb2rom.c
===================================================================
--- linux.orig/drivers/mtd/maps/esb2rom.c
+++ linux/drivers/mtd/maps/esb2rom.c
@@ -95,8 +95,8 @@

struct esb2rom_window {
void __iomem* virt;
- unsigned long phys;
- unsigned long size;
+ u32 phys;
+ u32 size;
struct list_head maps;
struct resource rsrc;
struct pci_dev *pdev;


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/