Broadcom 4400 resume small fix
Some issues in b44_resume(). - Return value of pci_enable_device() was ignored. - If request_irq() has failed we have to just disable device and exit. Signed-off-by: Dmitriy Monakhov <dmonakhov@openvz.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
Родитель
00576e9380
Коммит
90afd0e574
|
@ -2320,16 +2320,27 @@ static int b44_resume(struct pci_dev *pdev)
|
|||
{
|
||||
struct net_device *dev = pci_get_drvdata(pdev);
|
||||
struct b44 *bp = netdev_priv(dev);
|
||||
int rc = 0;
|
||||
|
||||
pci_restore_state(pdev);
|
||||
pci_enable_device(pdev);
|
||||
rc = pci_enable_device(pdev);
|
||||
if (rc) {
|
||||
printk(KERN_ERR PFX "%s: pci_enable_device failed\n",
|
||||
dev->name);
|
||||
return rc;
|
||||
}
|
||||
|
||||
pci_set_master(pdev);
|
||||
|
||||
if (!netif_running(dev))
|
||||
return 0;
|
||||
|
||||
if (request_irq(dev->irq, b44_interrupt, IRQF_SHARED, dev->name, dev))
|
||||
rc = request_irq(dev->irq, b44_interrupt, IRQF_SHARED, dev->name, dev);
|
||||
if (rc) {
|
||||
printk(KERN_ERR PFX "%s: request_irq failed\n", dev->name);
|
||||
pci_disable_device(pdev);
|
||||
return rc;
|
||||
}
|
||||
|
||||
spin_lock_irq(&bp->lock);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче