if_nge & if_lge drivers
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.
> > 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().
> 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