Thank you for your responses, It was not so much a problem with the pciehp driver - it worked fine when I eventually enabled some of the slot's configuration registers. I was just doing some things manually via sysfs during my bring-up, and was surprised that a rescan wasn't enough to fully refresh the tree. I can see now that a rescan will skip some code if a pci_dev with the same devfn already exists from an previous enumeration of the pci_bus, but intuitively I wouldn't have expected this to be the case. Thanks, Kyle