kern/140036: [iwn] [lor] lock order reversal with iwn0_com_lock and iwn0 softc lock

Benjamin Kaduk kaduk at MIT.EDU
Sat Dec 5 20:30:04 UTC 2009


The following reply was made to PR kern/140036; it has been noted by GNATS.

From: Benjamin Kaduk <kaduk at MIT.EDU>
To: Bernhard Schmidt <bschmidt at techwires.net>
Cc: sam at freebsd.org, bug-followup at freebsd.org
Subject: Re: kern/140036: [iwn] [lor] lock order reversal with iwn0_com_lock
 and iwn0 softc lock
Date: Sat, 5 Dec 2009 15:25:25 -0500 (EST)

 On Sat, 5 Dec 2009, Bernhard Schmidt wrote:
 
 > On Saturday 05 December 2009 03:49:42 Benjamin Kaduk wrote:
 >> Okay, I've been getting these lockups fairly frequently -- in fact,
 >> there was this one room where I was getting them every five minutes
 >> or so.  I hypothesized that dissociation/association events might
 >> be triggers, so I set dev.iwn.0.debug=-1 and started wandering around
 >> this building (which is chock full of APs).
 >> I get:
 >> panic: lock (sleep mutex) iwn0_com_lock not locked @
 >> /usr/devel/iwn/freebsd/sys/modules/iwn/../../dev/iwn/if_iwn.c:3254
 >
 > Are you sure your code is in sync? there is nothing accessing the lock in
 > if_iwn.c:3254
 >
 > 3251	if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) {
 > 3252		ieee80211_free_node(ni);
 > 3253		m_freem(m);
 > 3254		return ENETDOWN;
 > 3255	}
 >
 
 Apparently not -- `svn info` claims that I only have r13, and
 the web the web interface shows up to r20.
 I guess I've been using cvs for too long, and expected
 `${VCS_COMMAND} diff` to default to showing differences from the
 head of the repository/current branch.
 
 I'll update and revert my change to net80211/ieee80211_proto.c and
 see what changes.
 
 Sorry for the noise,
 
 Ben


More information about the freebsd-net mailing list