diff options
author | Dmitriy Monakhov <dmonakhov@sw.ru> | 2007-03-06 05:41:59 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-03-06 06:10:02 -0500 |
commit | e12651539808437a97f3e33c659c3d7b4000e41e (patch) | |
tree | 4e5cd7a11a8300f71aa85ec1c591f460e06e34c6 /drivers/net | |
parent | cfa51b9dbf5aa385c6d1f8645587fdc4fe8c13fd (diff) |
3c59x: Handle pci_enable_device() failure while resuming
Handle pci_enable_device() failure while resuming, we can safely exit here.
Signed-off-by: Monakhov Dmitriy <dmonakhov@openvz.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/3c59x.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c index 716a47210aa3..72995777f809 100644 --- a/drivers/net/3c59x.c +++ b/drivers/net/3c59x.c | |||
@@ -822,11 +822,17 @@ static int vortex_resume(struct pci_dev *pdev) | |||
822 | { | 822 | { |
823 | struct net_device *dev = pci_get_drvdata(pdev); | 823 | struct net_device *dev = pci_get_drvdata(pdev); |
824 | struct vortex_private *vp = netdev_priv(dev); | 824 | struct vortex_private *vp = netdev_priv(dev); |
825 | int err; | ||
825 | 826 | ||
826 | if (dev && vp) { | 827 | if (dev && vp) { |
827 | pci_set_power_state(pdev, PCI_D0); | 828 | pci_set_power_state(pdev, PCI_D0); |
828 | pci_restore_state(pdev); | 829 | pci_restore_state(pdev); |
829 | pci_enable_device(pdev); | 830 | err = pci_enable_device(pdev); |
831 | if (err) { | ||
832 | printk(KERN_WARNING "%s: Could not enable device \n", | ||
833 | dev->name); | ||
834 | return err; | ||
835 | } | ||
830 | pci_set_master(pdev); | 836 | pci_set_master(pdev); |
831 | if (request_irq(dev->irq, vp->full_bus_master_rx ? | 837 | if (request_irq(dev->irq, vp->full_bus_master_rx ? |
832 | &boomerang_interrupt : &vortex_interrupt, IRQF_SHARED, dev->name, dev)) { | 838 | &boomerang_interrupt : &vortex_interrupt, IRQF_SHARED, dev->name, dev)) { |