Date: Sat, 9 Apr 2016 13:01:40 +0000 (UTC) From: "Bjoern A. Zeeb" <bz@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r297745 - projects/vnet/sys/net Message-ID: <201604091301.u39D1eCj062781@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bz Date: Sat Apr 9 13:01:40 2016 New Revision: 297745 URL: https://svnweb.freebsd.org/changeset/base/297745 Log: Always drain the taskq on interface move/detach. Sponsored by: The FreeBSD Foundation Modified: projects/vnet/sys/net/if.c Modified: projects/vnet/sys/net/if.c ============================================================================== --- projects/vnet/sys/net/if.c Sat Apr 9 12:17:31 2016 (r297744) +++ projects/vnet/sys/net/if.c Sat Apr 9 13:01:40 2016 (r297745) @@ -959,6 +959,11 @@ if_detach_internal(struct ifnet *ifp, in /* The one thing we have to do. */ if_delgroups(ifp); + /* + * Remove/wait for pending events. + */ + taskqueue_drain(taskqueue_swi, &ifp->if_linktask); + if (!vmove && !shutdown && ifp->if_vnet->vnet_state <= SI_SUB_PSEUDO_DONE) return (ENOENT); @@ -968,11 +973,6 @@ if_detach_internal(struct ifnet *ifp, in *ifcp = if_clone_findifc(ifp); /* - * Remove/wait for pending events. - */ - taskqueue_drain(taskqueue_swi, &ifp->if_linktask); - - /* * Remove routes and flush queues. */ if_down(ifp);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201604091301.u39D1eCj062781>