The problem here is that the PCI bus probe is returning a corrupted PCI Vendor ID. Querying the PCI config registers after the system has started shows the correct Vendor ID, but the kernel seems to 'lose' the 2nd nibble of byte 0, turning 0x18 into 0x10: This is from the problem PC booted with a 64-bit kernel: 00:0c.0 Network controller [0280]: IBM Device [1014:0601] Subsystem: Linksys Device [1737:0067] Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- SERR- TAbort- SERR-