Created attachment 174024 [details] patch for ti_pruss.c The interrupt-notification is done via kqueue. The filter-function ti_pruss_kqfilter makes use of knlist_add(), which needs to be locked. Panics the kernel with INVARIANTS enabled. Patch attached.
A commit references this bug: Author: gonzo Date: Tue Aug 30 01:31:03 UTC 2016 New revision: 305039 URL: https://svnweb.freebsd.org/changeset/base/305039 Log: Fix TI PRUSS driver panic with INVARIANTS enabled Value passed as islocked argument to knlist_add should be consistent with actual lock state so add lock/unlock calls around knlist_add PR: 212120 Submitted by: Manuel Stuhn Changes: head/sys/arm/ti/ti_pruss.c
A commit references this bug: Author: gonzo Date: Fri Sep 2 22:04:20 UTC 2016 New revision: 305308 URL: https://svnweb.freebsd.org/changeset/base/305308 Log: MFC r305039: Fix TI PRUSS driver panic with INVARIANTS enabled Value passed as islocked argument to knlist_add should be consistent with actual lock state so add lock/unlock calls around knlist_add PR: 212120 Submitted by: Manuel Stuhn Changes: _U stable/11/ stable/11/sys/arm/ti/ti_pruss.c