interesting. This: north = pci_locate_device(PCI_ID(0x1106, 0x8601), 0); returned: 00000800 Which is Wrong. And the 8601 reads ok, but writes fail in config space. Once I just set it to 0, things got a lot better! But it still fails :-) ron