Giant lock issue with almost -current

Robert Watson rwatson at freebsd.org
Fri Aug 6 13:33:42 PDT 2004


On Fri, 6 Aug 2004, Poul-Henning Kamp wrote:

> Transcribed by hand:
> 
> Giant not owned
> mtx_assert()
> if_start()
> ieee80211_mgmt_output()
> ieee80211_send_mgmt()
> ieee80211_newstate()
> ath_newstate()
> ieee80211_end_scan()
> ieee80211_next_scan()
> ath_next_scan()
> softclock()

Yeah, I got another report of this this morning.  The 802.11 code is
calling into the network stack from a Giant-free timeout/callout without
first acquiring Giant, and you're running the stack with Giant required
(i.e., debug.mpsafenet=0).  Exactly where to draw the "Needs Giant" line
for debug.mpsafenet=0 is a little vague; generally, it has included the
network device drivers, which suggests that ath should use
CALLOUT_MPSAFENET only if debug.mpsafenet != 0. 

Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
robert at fledge.watson.org      Principal Research Scientist, McAfee Research




More information about the freebsd-current mailing list