Messages in this thread Patch in this message | | | From | Bjorn Helgaas <> | Subject | Re: [PATCH] hp100.c: add missing pci_enable_device() | Date | Wed, 25 Aug 2004 09:23:58 -0600 |
| |
On Tuesday 24 August 2004 6:41 pm, Jeff Garzik wrote: > Linux Kernel Mailing List wrote: > > diff -Nru a/drivers/net/hp100.c b/drivers/net/hp100.c > > --- a/drivers/net/hp100.c 2004-08-24 15:25:16 -07:00 > > +++ b/drivers/net/hp100.c 2004-08-24 15:25:16 -07:00 > > @@ -2910,10 +2910,15 @@ > > int ioaddr = pci_resource_start(pdev, 0); > > u_short pci_command; > > int err; > > - > > + > > if (!dev) > > return -ENOMEM; > > > > + if (pci_enable_device(pdev)) { > > > _Obviously_ incomplete change. Look above, and see pci_resource_start()
Thanks. Here's an additional patch to address this problem (again, compiled but not tested because I don't have the hardware):
Don't look at pci_resource_start() before pci_enable_device().
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
===== drivers/net/hp100.c 1.29 vs edited ===== --- 1.29/drivers/net/hp100.c 2004-08-24 03:08:34 -06:00 +++ edited/drivers/net/hp100.c 2004-08-25 09:12:59 -06:00 @@ -2906,16 +2906,17 @@ static int __devinit hp100_pci_probe (struct pci_dev *pdev, const struct pci_device_id *ent) { - struct net_device *dev = alloc_etherdev(sizeof(struct hp100_private)); - int ioaddr = pci_resource_start(pdev, 0); + struct net_device *dev; + int ioaddr; u_short pci_command; int err; - if (!dev) - return -ENOMEM; + if (pci_enable_device(pdev)) + return -ENODEV; - if (pci_enable_device(pdev)) { - err = -ENODEV; + dev = alloc_etherdev(sizeof(struct hp100_private)); + if (!dev) { + err = -ENOMEM; goto out0; } @@ -2939,7 +2940,7 @@ pci_write_config_word(pdev, PCI_COMMAND, pci_command); } - + ioaddr = pci_resource_start(pdev, 0); err = hp100_probe1(dev, ioaddr, HP100_BUS_PCI, pdev); if (err) goto out1; @@ -2956,8 +2957,8 @@ release_region(dev->base_addr, HP100_REGION_SIZE); out1: free_netdev(dev); - pci_disable_device(pdev); out0: + pci_disable_device(pdev); return err; } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |