diff options
Diffstat (limited to 'drivers/pci/pci.c')
| -rw-r--r-- | drivers/pci/pci.c | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 17bd9325a245..48807556b47a 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c | |||
| @@ -1393,35 +1393,35 @@ int pci_restore_standard_config(struct pci_dev *dev) | |||
| 1393 | pci_power_t prev_state; | 1393 | pci_power_t prev_state; |
| 1394 | int error; | 1394 | int error; |
| 1395 | 1395 | ||
| 1396 | pci_restore_state(dev); | ||
| 1397 | pci_update_current_state(dev, PCI_D0); | 1396 | pci_update_current_state(dev, PCI_D0); |
| 1398 | 1397 | ||
| 1399 | prev_state = dev->current_state; | 1398 | prev_state = dev->current_state; |
| 1400 | if (prev_state == PCI_D0) | 1399 | if (prev_state == PCI_D0) |
| 1401 | return 0; | 1400 | goto Restore; |
| 1402 | 1401 | ||
| 1403 | error = pci_raw_set_power_state(dev, PCI_D0, false); | 1402 | error = pci_raw_set_power_state(dev, PCI_D0, false); |
| 1404 | if (error) | 1403 | if (error) |
| 1405 | return error; | 1404 | return error; |
| 1406 | 1405 | ||
| 1407 | if (pci_is_bridge(dev)) { | 1406 | /* |
| 1408 | if (prev_state > PCI_D1) | 1407 | * This assumes that we won't get a bus in B2 or B3 from the BIOS, but |
| 1409 | mdelay(PCI_PM_BUS_WAIT); | 1408 | * we've made this assumption forever and it appears to be universally |
| 1410 | } else { | 1409 | * satisfied. |
| 1411 | switch(prev_state) { | 1410 | */ |
| 1412 | case PCI_D3cold: | 1411 | switch(prev_state) { |
| 1413 | case PCI_D3hot: | 1412 | case PCI_D3cold: |
| 1414 | mdelay(pci_pm_d3_delay); | 1413 | case PCI_D3hot: |
| 1415 | break; | 1414 | mdelay(pci_pm_d3_delay); |
| 1416 | case PCI_D2: | 1415 | break; |
| 1417 | udelay(PCI_PM_D2_DELAY); | 1416 | case PCI_D2: |
| 1418 | break; | 1417 | udelay(PCI_PM_D2_DELAY); |
| 1419 | } | 1418 | break; |
| 1420 | } | 1419 | } |
| 1421 | 1420 | ||
| 1422 | dev->current_state = PCI_D0; | 1421 | dev->current_state = PCI_D0; |
| 1423 | 1422 | ||
| 1424 | return 0; | 1423 | Restore: |
| 1424 | return pci_restore_state(dev); | ||
| 1425 | } | 1425 | } |
| 1426 | 1426 | ||
| 1427 | /** | 1427 | /** |
