svn commit: r194763 - in head/sys: conf dev/gem modules/gem

John Baldwin jhb at freebsd.org
Tue Jun 23 21:06:48 UTC 2009


On Tuesday 23 June 2009 4:36:59 pm Marius Strobl wrote:
> Author: marius
> Date: Tue Jun 23 20:36:59 2009
> New Revision: 194763
> URL: http://svn.freebsd.org/changeset/base/194763
> 
> Log:
>   - Initialize the ifnet structure, especially if_dname, before probing
>     the PHYs as some PHY drivers use it (but probably shouldn't). How
>     gem(4) has worked with brgphy(4) on powerpc without this so far is
>     unclear to me.
>   - Introduce a dying flag which is set during detach and checked in
>     gem_ioctl() in order to prevent active BPF listeners to clear
>     promiscuous mode which may lead to the tick callout being restarted
>     which will trigger a panic once it's actually gone.

This should not be needed assuming you follow a model of:

gem_detach()
{

	ether_ifdetach(ifp);	/* calls bpfdetach() */
	GEM_LOCK(sc);
	gem_stop(sc);
	GEM_UNLOCK(sc);
	...
}

If you are invoking gem_stop() prior to ether_ifdetach() then that is your 
real bug. :)

-- 
John Baldwin


More information about the svn-src-all mailing list