Messages in this thread Patch in this message |  | | Date | Sun, 18 Feb 2007 13:42:22 +0300 | From | Cyrill Gorcunov <> | Subject | Re: e2b2rom_init_one(): Unable to register resource |
| |
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@vger.kernel.org | 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 ;)
Cyrill
diff --git a/drivers/mtd/maps/esb2rom.c b/drivers/mtd/maps/esb2rom.c index a9d808a..d63c060 100644 --- a/drivers/mtd/maps/esb2rom.c +++ b/drivers/mtd/maps/esb2rom.c @@ -214,6 +214,9 @@ static int __devinit esb2rom_init_one(struct pci_dev *pdev, /* reserved 0x0020 and 0x0010 */ window->phys -= 0x400000UL; +#ifdef CONFIG_64BIT + window->phys &= 0xffffffffUL; +#endif window->size = (0xffffffffUL - window->phys) + 1UL; /* Enable writes through the rom window */ |  |