/* Mandatory power management transition delays */
/* see PCI PM 1.1 5.6.1 table 18 */
if(state == 3 || dev->current_state == 3)
- {
- set_current_state(TASK_UNINTERRUPTIBLE);
- schedule_timeout(HZ/100);
- }
+ msleep(10);
else if(state == 2 || dev->current_state == 2)
udelay(200);
dev->current_state = state;
pci_read_config_word(dev,pm+PCI_PM_PMC,&value);
value &= PCI_PM_CAP_PME_MASK;
- value >>= ffs(value); /* First bit of mask */
+ value >>= ffs(PCI_PM_CAP_PME_MASK) - 1; /* First bit of mask */
/* Check if it can generate PME# from requested state. */
if (!value || !(value & (1 << state)))
struct pci_dev *dev = NULL;
while ((dev = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) {
- pci_fixup_device(PCI_FIXUP_FINAL, dev);
+ pci_fixup_device(pci_fixup_final, dev);
}
return 0;
}