So pci_raw_set_power_state() does a pci_read_config_word() and that returns a valid word. Yet, the device appears to be not in powerd up state later on. How's that possible, and why does it work on Windows? Can I inspect Windows behavior in some way to get insight? Since Windows works I'm sure there must be a SW fix (or at least a workaround) available. Perhaps just wait for a bit?