Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Feb 2016 00:58:04 +0000 (UTC)
From:      Pyun YongHyeon <yongari@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r295873 - in head/sys/dev: msk sk
Message-ID:  <201602220058.u1M0w4fB045796@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: yongari
Date: Mon Feb 22 00:58:04 2016
New Revision: 295873
URL: https://svnweb.freebsd.org/changeset/base/295873

Log:
  ifnet lock was changed to use sx(9) long time ago.
  Don't hold a driver lock for if_free(9).

Modified:
  head/sys/dev/msk/if_msk.c
  head/sys/dev/sk/if_sk.c

Modified: head/sys/dev/msk/if_msk.c
==============================================================================
--- head/sys/dev/msk/if_msk.c	Mon Feb 22 00:49:35 2016	(r295872)
+++ head/sys/dev/msk/if_msk.c	Mon Feb 22 00:58:04 2016	(r295873)
@@ -2059,11 +2059,11 @@ msk_detach(device_t dev)
 	msk_txrx_dma_free(sc_if);
 	bus_generic_detach(dev);
 
-	if (ifp)
-		if_free(ifp);
 	sc = sc_if->msk_softc;
 	sc->msk_if[sc_if->msk_port] = NULL;
 	MSK_IF_UNLOCK(sc_if);
+	if (ifp)
+		if_free(ifp);
 
 	return (0);
 }

Modified: head/sys/dev/sk/if_sk.c
==============================================================================
--- head/sys/dev/sk/if_sk.c	Mon Feb 22 00:49:35 2016	(r295872)
+++ head/sys/dev/sk/if_sk.c	Mon Feb 22 00:58:04 2016	(r295873)
@@ -1833,8 +1833,6 @@ sk_detach(dev)
 		ether_ifdetach(ifp);
 		SK_IF_LOCK(sc_if);
 	}
-	if (ifp)
-		if_free(ifp);
 	/*
 	 * We're generally called from skc_detach() which is using
 	 * device_delete_child() to get to here. It's already trashed
@@ -1848,6 +1846,8 @@ sk_detach(dev)
 	sk_dma_jumbo_free(sc_if);
 	sk_dma_free(sc_if);
 	SK_IF_UNLOCK(sc_if);
+	if (ifp)
+		if_free(ifp);
 
 	return(0);
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201602220058.u1M0w4fB045796>