Messages in this thread | | | Date | Thu, 19 Aug 2004 17:58:49 -0500 | From | Terence Ripperda <> | Subject | Re: 2.6.8.1-mm2 (nvidia breakage) |
| |
Thanks Bjorn,
I'll move that call to pci_enable_device to earlier in the probe call.
but in Kevin's original email, he's hitting an oops within the pci_enable_device call. is that likely due to pci_enable_device being called late?
Thanks, Terence
On Thu, Aug 19, 2004 at 04:03:55PM -0600, bjorn.helgaas@hp.com wrote: > On Thursday 19 August 2004 3:51 pm, Terence Ripperda wrote: > > the original bug report was during module load time, when we're > > probing our devices via the pci_driver's probe callback. this is well > > before we hook up interrupts or do anything in our closed source code. > > > > I'm attaching a trimmed down version of our driver that pretty much > > only does this probe (complete source is included). I don't know if > > this will reproduce the original bug or not. > > Thanks, this is enough to show the problem: > > nv_kern_probe(struct pci_dev *dev, ...) > { > ... > nv->interrupt_line = dev->irq; > ... > if (pci_enable_device(dev) != 0) > > The driver is looking at dev->irq before calling pci_enable_device(). > But dev->irq is not necessarily initialized before pci_enable_device(). > > I'm not a PCI expert, but I'm not sure you should be looking at > all the other dev->resource[] stuff before pci_enable_device() > either. Most of the "modern" drivers in the tree seem to do > pci_enable_device() very early in the probe() function, i.e., > see tg3.c. - 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/
| |