LOR - COM LOCK

Adrian Chadd adrian at freebsd.org
Fri Oct 14 04:15:20 UTC 2011


On 11 October 2011 23:49, Edgar Martinez <emartinez at kbcnetworks.com> wrote:
> lock order reversal:
>  1st 0xc5912778 ath1_scan_lock (ath1_scan_lock) @ /usr/src/sys/net80211/ieee80211_node.c:2158
>  2nd 0xc5911014 ath1_com_lock (ath1_com_lock) @ /usr/src/sys/net80211/ieee80211_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


More information about the freebsd-wireless mailing list