netdev
[Top] [All Lists]

Re: Network device driver probe issues

To: David Dillow <dave@xxxxxxxxxxxxxx>
Subject: Re: Network device driver probe issues
From: Jim Keniston <jkenisto@xxxxxxxxxx>
Date: 16 Jul 2004 11:26:30 -0700
Cc: Jeff Garzik <jgarzik@xxxxxxxxx>, Anton Blanchard <anton@xxxxxxxxx>, Netdev <netdev@xxxxxxxxxxx>, cramerj@xxxxxxxxx, john.ronciak@xxxxxxxxx, ganesh.venkatesan@xxxxxxxxx, jonmason@xxxxxxxxxx, Jim Keniston <jkenisto@xxxxxxxxxx>
In-reply-to: <1089953344.23577.15.camel@xxxxxxxxxxxxxxxxxx>
Organization:
References: <20040715135244.GD27715@krispykreme> <40F71477.2020408@xxxxxxxxx> <1089939860.1709.70.camel@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <1089953344.23577.15.camel@xxxxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
On Thu, 2004-07-15 at 21:49, David Dillow wrote:
> On Thu, 2004-07-15 at 21:04, Jim Keniston wrote:
> > On Thu, 2004-07-15 at 16:34, Jeff Garzik wrote:
> [snip]
> > > > We should instead use something stable to attach to printks during
> > > > probe. pci_name() is the obvious choice, perhaps using dev_printk().
> > > > The failure then becomes:
> > > > 
> > > > 0000:01:01.0 Intel(R) PRO/1000 Network Connection
> > > > 0000:01:01.0 The EEPROM Checksum Is Not Valid
> > > > 0000:02:01.0 Intel(R) PRO/1000 Network Connection
> > > 
> > > pci_name() or a simple counter of devices found.  I prefer pci_name()
> > > 
> > >   Jeff
> > 
> > Delay registration until the end of the probe, and make DPRINTK smarter.
> > DPRINTK should check
> >     adapter->netdev->reg_state == NETREG_REGISTERED
> > and use the interface name (eth0) if the device is registered, or
> > pci_name() if it's not.
> > 
> > Jim
> 
> In the typhoon driver, I have tp->name, and most everything that prints
> info/errors about the card use it. During probing, it is initially set
> to point to pci_name(), and once registered, it gets pointed to
> netdev->name.
> 
> This seems fairly clean, though maybe a bit redundant.
> 
> Dave
> 

Works for me.  While we're talking about DPRINTK, e100.c could use a
similar adjustment.  e100_probe() correctly defers registration until
the probe has succeeded, but as a result, probe-time failure messages
refer to "eth%d", right?

Jim


<Prev in Thread] Current Thread [Next in Thread>