From: Bjorn Helgaas Add pci_enable_device()/pci_disable_device(). In the past, drivers often worked without this, but it is now required in order to route PCI interrupts correctly. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton --- 25-akpm/drivers/net/hp100.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletion(-) diff -puN drivers/net/hp100.c~hp100c-add-missing-pci_enable_device drivers/net/hp100.c --- 25/drivers/net/hp100.c~hp100c-add-missing-pci_enable_device Wed Aug 4 16:33:47 2004 +++ 25-akpm/drivers/net/hp100.c Wed Aug 4 16:33:47 2004 @@ -2910,10 +2910,15 @@ static int __devinit hp100_pci_probe (st int ioaddr = pci_resource_start(pdev, 0); u_short pci_command; int err; - + if (!dev) return -ENOMEM; + if (pci_enable_device(pdev)) { + err = -ENODEV; + goto out0; + } + SET_MODULE_OWNER(dev); SET_NETDEV_DEV(dev, &pdev->dev); @@ -2951,6 +2956,8 @@ static int __devinit hp100_pci_probe (st release_region(dev->base_addr, HP100_REGION_SIZE); out1: free_netdev(dev); + pci_disable_device(pdev); + out0: return err; } @@ -2959,6 +2966,7 @@ static void __devexit hp100_pci_remove ( struct net_device *dev = pci_get_drvdata(pdev); cleanup_dev(dev); + pci_disable_device(pdev); } _