[Bug 296185] rtw89(4) freezes the system with INVARIANTS kernel
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 296185] rtw89(4) freezes the system with INVARIANTS kernel"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 19 Jul 2026 14:21:23 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=296185 --- Comment #11 from Artem Bunichev <temcbun@gmail.com> --- I think I've found where it breaks. I added the printf() debug logs into the source code myself and made use of empty infinite loops to find out where it stops working. So, it happens in rtw89_ops_set_rts_threshold() (sys/contrib/dev/rtw89/mac80211.c). The first action there is lockdep_assert_wiphy(hw->wiphy), and that function is where the bug happens: if an infinite loop is placed before it - the code reaches it and just starts to spin, but if we place a loop after lockdep_assert_wiphy(), the code just hangs and stops responding. I looked into lockdep_assert_wiphy(), and it is essentially a wrapper for lockdep_assert_held(), which is defined in sys/compat/linuxkpi/common/include/linux/lockdep.h inside #ifdef INVARIANTS. And that makes perfect sense, since this bug doesn't happen when the kernel is compiled without INVARIANTS. I'm not very experienced with the kernel code, so I guess I would need some further help to figure out what's the root cause and how it can be fixed. -- You are receiving this mail because: You are the assignee for the bug.