When installing the 5.9 kernel with bcmwl6.30.223.271+bdcom package on focal, the process fails to build the module.
bcmwl package: 6.30.223.271+bdcom-0ubuntu5
Below is the build log:
DKMS make.log for bcmwl-6.30.223.271+bdcom for kernel 5.9.0-050900-generic (x86_64)
Mon 12 Oct 2020 02:45:20 PM MDT
make: Entering directory '/usr/src/linux-headers-5.9.0-050900-generic'
CFG80211 API is prefered for this kernel version
Using CFG80211 API
AR /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/built-in.a
CC [M] /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.o
CC [M] /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.o
CC [M] /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_iw.o
CC [M] /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.o
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c: In function ‘wl_pci_probe’:
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:780:2: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
780 | if ((val & 0x0000ff00) != 0)
| ^~
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:782:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
782 | bar1_size = pci_resource_len(pdev, 2);
| ^~~~~~~~~
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c: In function ‘wl_ioctl’:
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:1654:6: error: implicit declaration of function ‘segment_eq’ [-Werror=implicit-function-declaration]
1654 | if (segment_eq(get_fs(), KERNEL_DS))
| ^~~~~~~~~~
In file included from /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:40:
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_set_auth_type’:
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.h:52:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
52 | if (wl_dbg_level & WL_DBG_DBG) { \
| ^
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:816:3: note: in expansion of macro ‘WL_DBG’
816 | WL_DBG(("network eap\n"));
| ^~~~~~
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:817:2: note: here
817 | default:
| ^~~~~~~
cc1: some warnings being treated as errors
make[1]: *** [scripts/Makefile.build:283: /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:1784: /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build] Error 2
make: Leaving directory '/usr/src/linux-headers-5.9.0-050900-generic'
bcmwl has issues with every new kernel /bugs.launchpad .net/ubuntu/ +source/ bcmwl/+ bug/1896348
i.e. https:/
so this isn't specific to any kernel, it's a deeper issue in the package's build mechanism