svn commit: r295873 - in head/sys/dev: msk sk
Pyun YongHyeon
yongari at FreeBSD.org
Mon Feb 22 00:58:06 UTC 2016
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);
}
More information about the svn-src-all
mailing list