Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Oct 2011 12:15:19 +0800
From:      Adrian Chadd <adrian@freebsd.org>
To:        Edgar Martinez <emartinez@kbcnetworks.com>
Cc:        freebsd-wireless@freebsd.org
Subject:   Re: LOR - COM LOCK
Message-ID:  <CAJ-VmonbnUXOaNKiDtF7fHhPO0tK_FewqaVQVi-Fjcbbna57Sw@mail.gmail.com>
In-Reply-To: <957EB052144AA64AB39F7AB268783201022FA3E653@VA3DIAXVS881.RED001.local>
References:  <CAJ-Vmo=JNTJDmxxo=C=W9=9%2BdWZFje7vbbas6hJ79RFN=5wvMA@mail.gmail.com> <957EB052144AA64AB39F7AB268783201022FA3E653@VA3DIAXVS881.RED001.local>

next in thread | previous in thread | raw e-mail | index | archive | help
On 11 October 2011 23:49, Edgar Martinez <emartinez@kbcnetworks.com> wrote:
> lock order reversal:
> =A01st 0xc5912778 ath1_scan_lock (ath1_scan_lock) @ /usr/src/sys/net80211=
/ieee80211_node.c:2158
> =A02nd 0xc5911014 ath1_com_lock (ath1_com_lock) @ /usr/src/sys/net80211/i=
eee80211_node.c:2510

This is a bit odd. I'm seeing the same LOR.

>From what I've determined:

* hostap_newstate: the comlock is held, then it calls
ieee80211_iterate_nodes(), which grabs the scan/node lock.
* ioctl -> ieee80211_ioctl -> ieee80211_iterate_nodes() which grabs
the scan/node lock, -> ieee80211_node_leave(), which grabs the
comlock.

I'm not sure what the correct fix should be and I don't have the time
at the moment to fix it. But yes, it should be fixed.


Adrian



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