From: Daniele Venzano I added some constants to make the code more readable and modified the if body to check for another ID in case the first check fails. --- 25-akpm/drivers/net/sis900.c | 10 +++++++--- 25-akpm/drivers/net/sis900.h | 3 +++ 2 files changed, 10 insertions(+), 3 deletions(-) diff -puN drivers/net/sis900.c~sis900-add-new-isa-bridge-pci-id drivers/net/sis900.c --- 25/drivers/net/sis900.c~sis900-add-new-isa-bridge-pci-id Tue May 18 16:54:58 2004 +++ 25-akpm/drivers/net/sis900.c Tue May 18 16:54:58 2004 @@ -260,9 +260,13 @@ static int __devinit sis630e_get_mac_add u8 reg; 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; + isa_bridge = pci_find_device(PCI_VENDOR_ID_SI, SIS630E_ISA_BRIDGE_ID_1, isa_bridge); + if (!isa_bridge) { + isa_bridge = pci_find_device(PCI_VENDOR_ID_SI, SIS630E_ISA_BRIDGE_ID_2, isa_bridge); + if (!isa_bridge) { + 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); diff -puN drivers/net/sis900.h~sis900-add-new-isa-bridge-pci-id drivers/net/sis900.h --- 25/drivers/net/sis900.h~sis900-add-new-isa-bridge-pci-id Tue May 18 16:54:58 2004 +++ 25-akpm/drivers/net/sis900.h Tue May 18 16:54:58 2004 @@ -274,6 +274,9 @@ enum sis630_revision_id { #define TX_TOTAL_SIZE NUM_TX_DESC*sizeof(BufferDesc) #define RX_TOTAL_SIZE NUM_RX_DESC*sizeof(BufferDesc) +#define SIS630E_ISA_BRIDGE_ID_1 0x0008 +#define SIS630E_ISA_BRIDGE_ID_2 0x0018 + /* PCI stuff, should be move to pci.h */ #define SIS630_VENDOR_ID 0x1039 #define SIS630_DEVICE_ID 0x0630 _