Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2b272221 authored by Dmitriy Monakhov's avatar Dmitriy Monakhov Committed by Jeff Garzik
Browse files

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

parent f1069046
Loading
Loading
Loading
Loading
+15 −5
Original line number Diff line number Diff line
@@ -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