diff options
Diffstat (limited to 'drivers/pci/pci.c')
-rw-r--r-- | drivers/pci/pci.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 259d247b7551..39bdb938521d 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c | |||
@@ -314,19 +314,19 @@ pci_set_power_state(struct pci_dev *dev, pci_power_t state) | |||
314 | * sets PowerState to 0. | 314 | * sets PowerState to 0. |
315 | */ | 315 | */ |
316 | switch (dev->current_state) { | 316 | switch (dev->current_state) { |
317 | case PCI_D0: | ||
318 | case PCI_D1: | ||
319 | case PCI_D2: | ||
320 | pmcsr &= ~PCI_PM_CTRL_STATE_MASK; | ||
321 | pmcsr |= state; | ||
322 | break; | ||
317 | case PCI_UNKNOWN: /* Boot-up */ | 323 | case PCI_UNKNOWN: /* Boot-up */ |
318 | if ((pmcsr & PCI_PM_CTRL_STATE_MASK) == PCI_D3hot | 324 | if ((pmcsr & PCI_PM_CTRL_STATE_MASK) == PCI_D3hot |
319 | && !(pmcsr & PCI_PM_CTRL_NO_SOFT_RESET)) | 325 | && !(pmcsr & PCI_PM_CTRL_NO_SOFT_RESET)) |
320 | need_restore = 1; | 326 | need_restore = 1; |
321 | /* Fall-through: force to D0 */ | 327 | /* Fall-through: force to D0 */ |
322 | case PCI_D3hot: | ||
323 | case PCI_D3cold: | ||
324 | case PCI_POWER_ERROR: | ||
325 | pmcsr = 0; | ||
326 | break; | ||
327 | default: | 328 | default: |
328 | pmcsr &= ~PCI_PM_CTRL_STATE_MASK; | 329 | pmcsr = 0; |
329 | pmcsr |= state; | ||
330 | break; | 330 | break; |
331 | } | 331 | } |
332 | 332 | ||