Bug 1661944 - Broadcom wifi compile fails due to "__init_work" declaration being undefined
Summary: Broadcom wifi compile fails due to "__init_work" declaration being undefined
Alias: None
Product: Fedora
Classification: Fedora
Component: NetworkManager
Version: rawhide
Hardware: x86_64
OS: Linux
Target Milestone: ---
Assignee: Lubomir Rintel
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2018-12-24 17:30 UTC by Paul Lambert
Modified: 2018-12-29 10:53 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2018-12-29 10:53:05 UTC
Type: Bug

Attachments (Terms of Use)

Description Paul Lambert 2018-12-24 17:30:47 UTC
Description of problem: Broadcom wifi (wl) module does not compile with latest rawhide

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:

Actual results:
  Building modules, stage 2.
CFG80211 API is prefered for this kernel version
Using CFG80211 API
  MODPOST 1 modules
FATAL: modpost: GPL-incompatible module wl.ko uses GPL-only symbol '__init_work'
make[2]: *** [scripts/Makefile.modpost:92: __modpost] Error 1
make[1]: *** [Makefile:1573: modules] Error 2
make[1]: Leaving directory '/usr/src/kernels/4.20.0-0.rc7.git1.1.fc30.x86_64'
make: *** [Makefile:159: all] Error 2

Expected results:
Compiling the Broadcom wl module has successfully compiled for several years.

Additional info:
This bug was reported several years ago against a linux distro.  The solution was not to use the debug version.  Don't know  if this version of rawhide includes debug.  

The last rawhide version to compile is the one I am currently booting from 4.20.0-0.rc6.git1.1.fc30.x86_64.
Regardless of whether dbug or not, the underlying device code should be the same.

Comment 1 Paul Lambert 2018-12-29 03:08:06 UTC
wl kernel module now compiles and works as expected.  Error for symbol __init_work is no longer encountered during module compile.

Wifi works with these errors from dmesg
[root@BRSINC-01Fed wl]# dmesg | grep wl
[  118.274531] wl: loading out-of-tree module taints kernel.
[  118.274536] wl: module license 'MIXED/Proprietary' taints kernel.
[  118.280051] wl: module verification failed: signature and/or required key missing - tainting kernel
[  118.340823] wl 0000:02:00.0 wlo1: renamed from eth0
[  118.362754] IPv6: ADDRCONF(NETDEV_UP): wlo1: link is not ready
[  118.504609] IPv6: ADDRCONF(NETDEV_UP): wlo1: link is not ready
[  119.339546] IPv6: ADDRCONF(NETDEV_UP): wlo1: link is not ready
[  120.290438] IPv6: ADDRCONF(NETDEV_CHANGE): wlo1: link becomes ready

If these wl related errors in dmesg are wont fix then close this bug report.

Comment 2 Thomas Haller 2018-12-29 10:53:05 UTC
The bug is reported against "NetworkManager" component which seems very unrelated to this issue.

If you build an out-of-tree module it's usually your responsibility to get that right. In particular, because kernel's does not have a stable API for modules. Also, it seems there is a licensing issue, and the failure may or may not be intentional.

> wl kernel module now compiles and works as expected.

and what was the solution?

Anyway, closing. Otherwise, please reopen and assign to a suitable component (kernel?). Thank you.

Note You need to log in before you can comment on or make changes to this bug.