LOR - COM LOCK

Edgar Martinez emartinez at kbcnetworks.com
Fri Oct 14 16:15:05 UTC 2011


I've noticed that I can get the behavior to *usually* repeat if you kick a station after association.

Thanks for the info, I'll see if I can hunt it down.

-----Original Message-----
From: adrian.chadd at gmail.com [mailto:adrian.chadd at gmail.com] On Behalf Of Adrian Chadd
Sent: Thursday, October 13, 2011 9:15 PM
To: Edgar Martinez
Cc: freebsd-wireless at freebsd.org
Subject: Re: LOR - COM LOCK

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