Date: Sat, 16 Jul 2011 19:11:45 +0000 (UTC) From: Marko Zec <zec@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r224107 - head/sys/netgraph Message-ID: <201107161911.p6GJBjXZ040477@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: zec Date: Sat Jul 16 19:11:45 2011 New Revision: 224107 URL: http://svn.freebsd.org/changeset/base/224107 Log: Clear pending ifnet events, in an attempt at preventing ng_ether_link_state() from being dispatched after we have cleared our IFP2NG(ifp). MFC after: 3 days Modified: head/sys/netgraph/ng_ether.c Modified: head/sys/netgraph/ng_ether.c ============================================================================== --- head/sys/netgraph/ng_ether.c Sat Jul 16 19:01:09 2011 (r224106) +++ head/sys/netgraph/ng_ether.c Sat Jul 16 19:11:45 2011 (r224107) @@ -55,6 +55,7 @@ #include <sys/proc.h> #include <sys/syslog.h> #include <sys/socket.h> +#include <sys/taskqueue.h> #include <net/if.h> #include <net/if_dl.h> @@ -336,6 +337,7 @@ ng_ether_detach(struct ifnet *ifp) const node_p node = IFP2NG(ifp); const priv_p priv = NG_NODE_PRIVATE(node); + taskqueue_drain(taskqueue_swi, &ifp->if_linktask); NG_NODE_REALLY_DIE(node); /* Force real removal of node */ /* * We can't assume the ifnet is still around when we run shutdown
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201107161911.p6GJBjXZ040477>