diff options
author | Mauro Carvalho Chehab <mchehab@brturbo.com.br> | 2005-09-09 16:03:55 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-09 16:57:51 -0400 |
commit | 08adb9e20be83bb4c5322bf15b966c537038f6d9 (patch) | |
tree | 65d97de16e4bf83c451405ef2bce2f64ffe5e06f /drivers/media/video/cx88/cx88-mpeg.c | |
parent | 4c93b07a48039cee1d845f38294abec0f803e05e (diff) |
[PATCH] v4l: some error treatment implemented at resume functions.
- Some error treatment implemented at resume functions.
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/media/video/cx88/cx88-mpeg.c')
-rw-r--r-- | drivers/media/video/cx88/cx88-mpeg.c | 20 |
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 | ||
456 | int cx8802_resume_common(struct pci_dev *pci_dev) | 456 | int 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 */ |