[Bug 249402] Locking issue when requesting an ieee80211 scan
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Thu Sep 17 18:30:57 UTC 2020
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=249402
Bug ID: 249402
Summary: Locking issue when requesting an ieee80211 scan
Product: Base System
Version: CURRENT
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: wireless
Assignee: wireless at FreeBSD.org
Reporter: martin at NetBSD.org
Created attachment 218029
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=218029&action=edit
Patch to unlock the wifi ic before calling ieee80211_check_scan()
While adapting the ieee80211 stack to NetBSD I ran into a locking issue
whenever scans are started.
I don't know if locking the wifi IC in FreeBSD allows for recursion - in NetBSD
it doesn't and all scan starts will result in a "locking against myself"
assertion with LOCKDEBUG kernels.
The call here comes in via the ic_newstate callback, which always is called
with IC locked (see also the assertion a few lines above), but the
ieee80211_check_scan() function (and indirectly ieee80211_check_scan_current()
which calls it) will lock the ic again.
Simple patch to work around attached.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-wireless
mailing list