From: Bjorn Helgaas <bjorn.helgaas@hp.com>

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 <bjorn.helgaas@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 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);
 }
 
 
_