aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx88/cx88-mpeg.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/cx88/cx88-mpeg.c')
-rw-r--r--drivers/media/video/cx88/cx88-mpeg.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/drivers/media/video/cx88/cx88-mpeg.c b/drivers/media/video/cx88/cx88-mpeg.c
index 6d0d15c3a1c6..ee2300e1ae0b 100644
--- a/drivers/media/video/cx88/cx88-mpeg.c
+++ b/drivers/media/video/cx88/cx88-mpeg.c
@@ -455,14 +455,28 @@ int cx8802_suspend_common(struct pci_dev *pci_dev, pm_message_t state)
455 455
456int cx8802_resume_common(struct pci_dev *pci_dev) 456int cx8802_resume_common(struct pci_dev *pci_dev)
457{ 457{
458 struct cx8802_dev *dev = pci_get_drvdata(pci_dev); 458 struct cx8802_dev *dev = pci_get_drvdata(pci_dev);
459 struct cx88_core *core = dev->core; 459 struct cx88_core *core = dev->core;
460 int err;
460 461
461 if (dev->state.disabled) { 462 if (dev->state.disabled) {
462 pci_enable_device(pci_dev); 463 err=pci_enable_device(pci_dev);
464 if (err) {
465 printk(KERN_ERR "%s: can't enable device\n",
466 dev->core->name);
467 return err;
468 }
463 dev->state.disabled = 0; 469 dev->state.disabled = 0;
464 } 470 }
465 pci_set_power_state(pci_dev, PCI_D0); 471 err=pci_set_power_state(pci_dev, PCI_D0);
472 if (err) {
473 printk(KERN_ERR "%s: can't enable device\n",
474 dev->core->name);
475 pci_disable_device(pci_dev);
476 dev->state.disabled = 1;
477
478 return err;
479 }
466 pci_restore_state(pci_dev); 480 pci_restore_state(pci_dev);
467 481
468 /* FIXME: re-initialize hardware */ 482 /* FIXME: re-initialize hardware */