Mika, reviewing the code in your commit, can we double-check the "!" in "if (!pdev->imm_ready)" here? > static int get_downstream_delay(struct pci_bus *bus) > { > struct pci_dev *pdev; > int min_delay = 100; > int max_delay = 0; > > list_for_each_entry(pdev, &bus->devices, bus_list) { > if (!pdev->imm_ready) I have zero clue of PCI (Express), but reading other parts of your patch, I think min_delay should be zeroed if imm_ready is 1 (currently it is zeroed if imm_ready == 0), unless the header file has a misleading comment. (I had tried removing the ! but that didn't fix my system.) > min_delay = 0; > else if (pdev->d3cold_delay < min_delay) > min_delay = pdev->d3cold_delay; > if (pdev->d3cold_delay > max_delay) > max_delay = pdev->d3cold_delay; > } > > return max(min_delay, max_delay); > } Regards, Matthias