OK, I have spent quite a while bashing my head against this brick wall now, trying to suss out why the lowlatency kernel build chokes, whilst the generic does not. I suspect it is heavily buried somewhere either in the compiler flags or in the deeper headers.
This is what I have found so far: if you compile low latency, as soon as wl_cfg80211.c includes an invocation either to rtnl_lock or rtnl_unlock (a fairly essential thing to do), the compile adds a U symbol for the __rcu_read_lock and __rcu_read_unlock. Remove the all the rtnl_lock and rtnl_unlock calls and the rcu symbols vanish too. Under generic they are never there; it relies on whatever module defines rtnetlink to request those symbols. The rtnetlink.h header is identical tween the two and there is only minimal #if stuff, none of which seems to relate to low latency stuff. any ideas anyone? -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1156138 Title: bcmwl-kernel-source fails to build on lowlatency kernel [FATAL: modpost: GPL-incompatible module wl.ko uses GPL-only symbol '__rcu_read_unlock'] To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/bcmwl/+bug/1156138/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs