From owner-svn-src-projects@FreeBSD.ORG Wed Jan 14 19:42:37 2015 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7244F7EE; Wed, 14 Jan 2015 19:42:37 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5F83B99; Wed, 14 Jan 2015 19:42:37 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t0EJgbxV072393; Wed, 14 Jan 2015 19:42:37 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t0EJgbOg072392; Wed, 14 Jan 2015 19:42:37 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201501141942.t0EJgbOg072392@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Wed, 14 Jan 2015 19:42:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r277189 - projects/ifnet/sys/net X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Jan 2015 19:42:37 -0000 Author: glebius Date: Wed Jan 14 19:42:36 2015 New Revision: 277189 URL: https://svnweb.freebsd.org/changeset/base/277189 Log: Call ift_detach from if_detach(), not from if_free(). Modified: projects/ifnet/sys/net/if.c Modified: projects/ifnet/sys/net/if.c ============================================================================== --- projects/ifnet/sys/net/if.c Wed Jan 14 19:42:11 2015 (r277188) +++ projects/ifnet/sys/net/if.c Wed Jan 14 19:42:36 2015 (r277189) @@ -638,14 +638,10 @@ if_attach(struct if_attach_args *ifat) static void if_free_internal(struct ifnet *ifp) { - struct iftype *ift = ifp->if_type; KASSERT((ifp->if_flags & IFF_DYING), ("if_free_internal: interface not dying")); - if (ift != NULL && ift->ift_detach != NULL) - ift->ift_detach(ifp); - #ifdef MAC mac_ifnet_destroy(ifp); #endif /* MAC */ @@ -1012,6 +1008,11 @@ if_detach_internal(struct ifnet *ifp, in devctl_notify("IFNET", ifp->if_xname, "DETACH", NULL); if (!vmove) { + struct iftype *ift = ifp->if_type; + + if (ift != NULL && ift->ift_detach != NULL) + ift->ift_detach(ifp); + /* * Prevent further calls into the device driver via ifnet. */