diff options
| -rw-r--r-- | drivers/net/3c59x.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c index 7adff4d0960d..b9eeadf01b74 100644 --- a/drivers/net/3c59x.c +++ b/drivers/net/3c59x.c | |||
| @@ -813,10 +813,10 @@ static int vortex_suspend(struct pci_dev *pdev, pm_message_t state) | |||
| 813 | if (netif_running(dev)) { | 813 | if (netif_running(dev)) { |
| 814 | netif_device_detach(dev); | 814 | netif_device_detach(dev); |
| 815 | vortex_down(dev, 1); | 815 | vortex_down(dev, 1); |
| 816 | disable_irq(dev->irq); | ||
| 816 | } | 817 | } |
| 817 | pci_save_state(pdev); | 818 | pci_save_state(pdev); |
| 818 | pci_enable_wake(pdev, pci_choose_state(pdev, state), 0); | 819 | pci_enable_wake(pdev, pci_choose_state(pdev, state), 0); |
| 819 | free_irq(dev->irq, dev); | ||
| 820 | pci_disable_device(pdev); | 820 | pci_disable_device(pdev); |
| 821 | pci_set_power_state(pdev, pci_choose_state(pdev, state)); | 821 | pci_set_power_state(pdev, pci_choose_state(pdev, state)); |
| 822 | } | 822 | } |
| @@ -839,18 +839,12 @@ static int vortex_resume(struct pci_dev *pdev) | |||
| 839 | return err; | 839 | return err; |
| 840 | } | 840 | } |
| 841 | pci_set_master(pdev); | 841 | pci_set_master(pdev); |
| 842 | if (request_irq(dev->irq, vp->full_bus_master_rx ? | ||
| 843 | &boomerang_interrupt : &vortex_interrupt, IRQF_SHARED, dev->name, dev)) { | ||
| 844 | pr_warning("%s: Could not reserve IRQ %d\n", dev->name, dev->irq); | ||
| 845 | pci_disable_device(pdev); | ||
| 846 | return -EBUSY; | ||
| 847 | } | ||
| 848 | if (netif_running(dev)) { | 842 | if (netif_running(dev)) { |
| 849 | err = vortex_up(dev); | 843 | err = vortex_up(dev); |
| 850 | if (err) | 844 | if (err) |
| 851 | return err; | 845 | return err; |
| 852 | else | 846 | enable_irq(dev->irq); |
| 853 | netif_device_attach(dev); | 847 | netif_device_attach(dev); |
| 854 | } | 848 | } |
| 855 | } | 849 | } |
| 856 | return 0; | 850 | return 0; |
