7a9a30c5e7
- MP-safe drivers provide a mutex to ifmedia that is used to serialize access to media-related structures / hardware regsiters. Converted drivers use the new ifmedia_init_with_lock() function for this. The new name is provided to ease the transition. - Un-converted drivers continue to call ifmedia_init(), which will supply a compatibility lock to be used instead. Several media-related entry points must be aware of this compatibility lock, and are able to acquire it recursively a limited number of times, if needed. This is a SPIN mutex with priority IPL_NET. - This same lock is used to serialize access to PHY registers and other MII-related data structures. The PHY drivers are modified to acquire and release the lock, as needed, and assert the lock is held as a diagnostic aid. The "usbnet" framework has had an overhaul of its internal locking protocols to fit in with the media / mii changes, and the drivers adapted. USB wifi drivers have been changed to provide their own adaptive mutex to the ifmedia later via a new ieee80211_media_init_with_lock() function. This is required because the USB drivers need an adaptive mutex. Besised "usbnet", a few other drivers are converted: vmx, wm, ixgbe / ixv. mcx also now calls ifmedia_init_with_lock() because it needs to also use an adaptive mutex. The mcx driver still needs to be fully converted to NET_MPSAFE. |
||
---|---|---|
.. | ||
agr | ||
npf | ||
bpf_filter.c | ||
bpf_stub.c | ||
bpf.c | ||
bpf.h | ||
bpfdesc.h | ||
bpfjit.c | ||
bpfjit.h | ||
bridgestp.c | ||
bsd-comp.c | ||
dl_print.c | ||
dlt.h | ||
ether_sw_offload.c | ||
ether_sw_offload.h | ||
ethertypes.h | ||
files.net | ||
files.pf | ||
if_arc.h | ||
if_arcsubr.c | ||
if_arp.h | ||
if_bridge.c | ||
if_bridgevar.h | ||
if_dl.h | ||
if_ether.h | ||
if_ethersubr.c | ||
if_faith.c | ||
if_faith.h | ||
if_gif.c | ||
if_gif.h | ||
if_gre.c | ||
if_gre.h | ||
if_ieee1394.h | ||
if_ieee1394subr.c | ||
if_ipsec.c | ||
if_ipsec.h | ||
if_l2tp.c | ||
if_l2tp.h | ||
if_llatbl.c | ||
if_llatbl.h | ||
if_llc.h | ||
if_loop.c | ||
if_media.c | ||
if_media.h | ||
if_module.h | ||
if_mpls.c | ||
if_mpls.h | ||
if_ppp.c | ||
if_ppp.h | ||
if_pppoe.c | ||
if_pppoe.h | ||
if_pppvar.h | ||
if_sl.c | ||
if_slvar.h | ||
if_sppp.h | ||
if_spppsubr.c | ||
if_spppvar.h | ||
if_srt.c | ||
if_srt.h | ||
if_stats.c | ||
if_stats.h | ||
if_stf.c | ||
if_stf.h | ||
if_tap.c | ||
if_tap.h | ||
if_tun.c | ||
if_tun.h | ||
if_types.h | ||
if_vlan.c | ||
if_vlanvar.h | ||
if.c | ||
if.h | ||
link_proto.c | ||
Makefile | ||
net_stats.c | ||
net_stats.h | ||
netisr_dispatch.h | ||
netisr.h | ||
pfil.c | ||
pfil.h | ||
pfkeyv2.h | ||
pktqueue.c | ||
pktqueue.h | ||
ppp_defs.h | ||
ppp_tty.c | ||
ppp-comp.h | ||
ppp-deflate.c | ||
radix.c | ||
radix.h | ||
raw_cb.c | ||
raw_cb.h | ||
raw_usrreq.c | ||
route.c | ||
route.h | ||
rss_config.c | ||
rss_config.h | ||
rtbl.c | ||
rtsock_shared.c | ||
rtsock.c | ||
slcompress.c | ||
slcompress.h | ||
slip.h | ||
zlib.c | ||
zlib.h |