Re: ide double init? + Re: BUG: Current 2.5-BK tree dies on boot!

Patrick Mochel
2002-09-19T17:42:10Z

On Thu, 19 Sep 2002, Jens Axboe wrote:

> On Thu, Sep 19 2002, Alan Cox wrote:
> > On Thu, 2002-09-19 at 12:14, Jens Axboe wrote:
> > > 2.5 is reorged big time it seems, pci_register_driver() ->
> > > drier_attach() -> do_driver_attach() -> found_match() calls ->probe()
> > > unconditionally...
> >
> > That would appear to be a bug in the 2.5 driver layer then. I'd suggest
> > fixing it there. Attempting to probe a device that already has a driver
> > attached to it doesn't seem to make sense.
>
> Agree. Pat?

Yes, and that's the way it's set up: we check if the device has a driver
before we bind to it. However, dev->driver doesn't get set before the
device is registered with the core for PCI devices. That's fixed easily
enough.

But, I'm a bit confused on where this is happening. The PCI layer will
probe for devices before any drivers are registered. The drivers are
registered, then they're attached to devices that were already discovered.
So, how are they getting init'ed twice?

-pat