if_nge & if_lge drivers

John Baldwin jhb at freebsd.org
Thu Oct 13 10:45:03 PDT 2005


On Wednesday 12 October 2005 05:13 pm, Yuriy N. Shkandybin wrote:
> > Note that lge() has a bzero() call after the contigmalloc(), but M_ZERO
> > is probably better to use:
> >
> > sc->lge_ldata = contigmalloc(sizeof(struct lge_list_data), M_DEVBUF,
> >     M_NOWAIT, 0, 0xffffffff, PAGE_SIZE, 0);
> >
> > ...
> > bzero(sc->lge_ldata, sizeof(struct lge_list_data));
>
> Yes, i;ve missed that.
> But there is no such bzero in nge.

Right.

> > I'll put that in my lge(4) patches and incorporate your nge(4) patches.
> > One
> > issue with your nge(4) patch is that you moved the bus_setup_intr() up
> > when
> > it really should happen after ether_ifattach().
>
> Probably.
> I've looked into if_lge.c for that as example.
> There goes bus_setup_intr() first and later ether_ifattach().

My locking patches for lge(4) move it. :)  Once a driver is properly locked it 
should call ether_ifattach() first, and nge is mostly properly locked.

> > Also, is there a reason you added a call to nge_reset() after nge_stop()
> > in
> > nge_init()?
>
> Only reason - same done in if_lge.c

Ah, hmm.  Do you have nge(4) hardware such that you can test my slightly 
larger nge patch?

-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org


More information about the freebsd-net mailing list