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: wirel...@freebsd.org
          Reporter: mar...@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.
_______________________________________________
freebsd-wireless@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-wireless
To unsubscribe, send any mail to "freebsd-wireless-unsubscr...@freebsd.org"

Reply via email to