提交 2b272221 编写于 作者: D Dmitriy Monakhov 提交者: Jeff Garzik

sk98lin: handle pci_enable_device() return value in skge_resume()

Signed-off-by: NMonakhov Dmitriy <dmonakhov@openvz.org>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NJeff Garzik <jeff@garzik.org>
上级 f1069046
......@@ -5123,7 +5123,12 @@ static int skge_resume(struct pci_dev *pdev)
pci_set_power_state(pdev, PCI_D0);
pci_restore_state(pdev);
pci_enable_device(pdev);
ret = pci_enable_device(pdev);
if (ret) {
printk(KERN_WARNING "sk98lin: unable to enable device %s "
"in resume\n", dev->name);
goto err_out;
}
pci_set_master(pdev);
if (pAC->GIni.GIMacsFound == 2)
ret = request_irq(dev->irq, SkGeIsr, IRQF_SHARED, "sk98lin", dev);
......@@ -5131,10 +5136,8 @@ static int skge_resume(struct pci_dev *pdev)
ret = request_irq(dev->irq, SkGeIsrOnePort, IRQF_SHARED, "sk98lin", dev);
if (ret) {
printk(KERN_WARNING "sk98lin: unable to acquire IRQ %d\n", dev->irq);
pAC->AllocFlag &= ~SK_ALLOC_IRQ;
dev->irq = 0;
pci_disable_device(pdev);
return -EBUSY;
ret = -EBUSY;
goto err_out_disable_pdev;
}
netif_device_attach(dev);
......@@ -5151,6 +5154,13 @@ static int skge_resume(struct pci_dev *pdev)
}
return 0;
err_out_disable_pdev:
pci_disable_device(pdev);
err_out:
pAC->AllocFlag &= ~SK_ALLOC_IRQ;
dev->irq = 0;
return ret;
}
#else
#define skge_suspend NULL
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册