Messages in this thread Patch in this message | | | From | Eric BENARD / Free <> | Subject | Re: 2.6.6 : bad PCI device ID for SiS ISA bridge => SiS900 eth0: Can not find ISA bridge | Date | Mon, 17 May 2004 08:48:12 +0200 |
| |
On Monday 17 May 2004 05:50, David Dillow wrote: > I'm not sure I understand the message, either. I can confirm that SiS's > LPC-to-ISA bridges can change their device ID based on writes to the PCI > config space -- 0x08 and 0x18 are both valid ids for that hardware. > > Eric, if you'll send me an lspci -xxx on the ISA bridge run under both > kernels, that may be interesting. Then the fun part will be finding what > changed in the kernel to cause that. > 2.6.6 0000:00:01.0 ISA bridge: Silicon Integrated Systems [SiS] SiS85C503/5513 (LPC Bridge) 00: 39 10 18 00 0f 00 00 02 00 00 01 06 00 00 80 00 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40: c8 80 0a 0c 0b 00 14 19 10 ef 00 00 11 20 04 01 50: 11 28 02 01 60 0a 63 0a a9 04 12 00 4d 17 00 00 60: 00 80 c0 80 40 c1 00 00 00 00 80 00 80 80 00 00 70: 80 00 d8 01 00 50 00 00 00 00 00 00 01 00 00 00 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2.6.3-rc2 0000:00:01.0 ISA bridge: Silicon Integrated Systems [SiS] SiS85C503/5513 (LPC Bridge) 00: 39 10 08 00 0f 00 00 02 00 00 01 06 00 00 80 00 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40: 88 80 0a 0c 0b 00 14 19 10 ef 00 00 11 20 04 01 50: 11 28 02 01 62 0a 63 0a a9 04 12 00 4d 17 00 00 60: 0c 80 c0 80 40 c1 00 00 00 00 80 00 80 80 00 00 70: 80 00 d8 01 00 50 00 00 00 00 00 00 01 00 00 00 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> In any event, I think it would be valid to have sis900 check for both > ids. > Here is a patch for this.
Eric --- linux-2.6.6.orig/drivers/net/sis900.c 2004-05-17 08:41:55.000000000 +0200 +++ linux-2.6.6/drivers/net/sis900.c 2004-05-17 08:37:25.000000000 +0200 @@ -261,8 +261,10 @@ int i; if ((isa_bridge = pci_find_device(0x1039, 0x0008, isa_bridge)) == NULL) { - printk("%s: Can not find ISA bridge\n", net_dev->name); - return 0; + if ((isa_bridge = pci_find_device(0x1039, 0x0018, isa_bridge)) == NULL) { + printk("%s: Can not find ISA bridge\n", net_dev->name); + return 0; + } } pci_read_config_byte(isa_bridge, 0x48, ®); pci_write_config_byte(isa_bridge, 0x48, reg | 0x40); | |