bcmwl dkms requires additional fixes to properly support kernel 5.19+

Bug #2002634 reported by Andrea Righi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
bcmwl (Ubuntu)
New
Undecided
Unassigned

Bug Description

[Impact]

As reported in LP: #1981968 kernel 5.19 requires additional patches to properly support this driver:

https://gist.github.com/joanbm/37fd0590f30b41e7e89ade6e242ca16e
https://gist.github.com/joanbm/052d8e951ba63d5eb5b6960bfe4e031a

Without these patches the kernel would trigger the following warnings:

[ 11.155980] netdevice: wlp3s0: Incorrect netdev->dev_addr
[ 11.155994] WARNING: CPU: 5 PID: 1767 at net/core/dev_addr_lists.c:519 dev_addr_check.cold+0x65/0x9f
[ 11.156000] Modules linked in: qrtr cmac algif_hash algif_skcipher af_alg bnep nls_iso8859_1 intel_rapl_msr intel_rapl_common x86_pkg_temp_thermal snd_hda_codec_cirrus intel_powerclamp snd_hda_codec_generic ledtrig_audio snd_hda_codec_hdmi snd_hda_intel snd_intel_dspcfg snd_intel_sdw_acpi snd_hda_codec kvm_intel snd_hda_core btusb snd_hwdep btrtl btbcm sch_fq_codel kvm snd_pcm sbs btintel rapl sbshc mei_pxp btmtk joydev mei_hdcp applesmc snd_seq_midi wl(POE) intel_cstate snd_seq_midi_event bluetooth snd_rawmidi input_leds snd_seq cmdlinepart ecdh_generic snd_seq_device ecc spi_nor bcm5974 apple_mfi_fastcharge snd_timer snd cfg80211 mei_me soundcore mei acpi_als industrialio_triggered_buffer kfifo_buf industrialio apple_gmux mac_hid apple_bl facetimehd(OE) videobuf2_dma_sg videobuf2_memops videobuf2_v4l2 videobuf2_common videodev mc coretemp ipmi_devintf ipmi_msghandler msr parport_pc ppdev lp parport ramoops reed_solomon pstore_blk pstore_zone mtd efi_pstore ip_tables x_tables autofs4
[ 11.156079] zfs(POE) zunicode(POE) zzstd(OE) zlua(OE) zavl(POE) icp(POE) zcommon(POE) znvpair(POE) spl(OE) z3fold lz4 lz4_compress hid_apple hid_generic uas usbhid hid usb_storage i915 nouveau mxm_wmi wmi drm_buddy i2c_algo_bit drm_ttm_helper ttm drm_display_helper cec rc_core drm_kms_helper syscopyarea sysfillrect crct10dif_pclmul spi_intel_platform crc32_pclmul ghash_clmulni_intel spi_intel aesni_intel sysimgblt i2c_i801 fb_sys_fops crypto_simd nvme cryptd i2c_smbus drm nvme_core thunderbolt lpc_ich xhci_pci xhci_pci_renesas video
[ 11.156144] Unloaded tainted modules: mtdpstore():1 chromeos_pstore():1 chromeos_pstore():1 mtdpstore():1 chromeos_pstore():1 mtdpstore():1 fjes():1 asus_ec_sensors():1 chromeos_pstore():1 mtdpstore():1 asus_ec_sensors():1 fjes():1 mtdpstore():1 chromeos_pstore():1 fjes():1 fjes():1
[ 11.156165] CPU: 5 PID: 1767 Comm: NetworkManager Tainted: P OE 5.19.0-rc8 #1
[ 11.156168] Hardware name: Apple Inc. MacBookPro11,3/Mac-2BD1B31983FE1663, BIOS 432.60.3.0.0 10/27/2021
[ 11.156170] RIP: 0010:dev_addr_check.cold+0x65/0x9f
[ 11.156174] Code: 01 e8 2d 00 f6 ff 0f 0b 49 c7 c4 4c 9b 65 ac 80 3b 00 75 30 48 c7 c6 57 9b 65 ac 4c 89 e2 48 c7 c7 38 ff 6e ac e8 09 00 f6 ff <0f> 0b e9 13 af d5 ff 4c 8b 24 c5 80 96 35 ac eb d4 49 c7 c4 4c 9b
[ 11.156176] RSP: 0018:ffffb9e987a676e8 EFLAGS: 00010282
[ 11.156179] RAX: 0000000000000000 RBX: ffff917280fa5000 RCX: 0000000000000027
[ 11.156181] RDX: ffff9175ef360568 RSI: 0000000000000001 RDI: ffff9175ef360560
[ 11.156183] RBP: ffffb9e987a676f8 R08: 0000000000000003 R09: fffffffffffd4b30
[ 11.156184] R10: ffffffffffffffff R11: 000000000000002f R12: ffffffffac60b141
[ 11.156186] R13: ffffffffc1950540 R14: 0000000000000001 R15: ffff917280fa5000
[ 11.156188] FS: 00007f9b3e2994c0(0000) GS:ffff9175ef340000(0000) knlGS:0000000000000000
[ 11.156190] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 11.156192] CR2: 0000559309a0d846 CR3: 0000000126245004 CR4: 00000000001706e0
[ 11.156194] Call Trace:
[ 11.156196] <TASK>
[ 11.156199] __dev_open+0x45/0x1c0
[ 11.156203] __dev_change_flags+0x1a0/0x220
[ 11.156208] dev_change_flags+0x26/0x60
[ 11.156210] do_setlink+0x290/0x11d0
[ 11.156214] ? dbuf_rele_and_unlock+0x7e0/0x7e0 [zfs]
[ 11.156311] ? __nla_validate_parse+0x5b/0xc10
[ 11.156316] ? spl_kmem_cache_alloc+0x10f/0x770 [spl]
[ 11.156329] __rtnl_newlink+0x580/0xa10
[ 11.156333] ? spl_kmem_cache_free+0x71/0x1d0 [spl]
[ 11.156343] ? kmem_cache_alloc_trace+0x1a6/0x310
[ 11.156347] rtnl_newlink+0x49/0x70
[ 11.156350] rtnetlink_rcv_msg+0x179/0x430
[ 11.156354] ? locked_inode_to_wb_and_lock_list+0x61/0x170
[ 11.156358] ? rtnl_calcit.isra.0+0x130/0x130
[ 11.156361] netlink_rcv_skb+0x53/0x100
[ 11.156366] rtnetlink_rcv+0x15/0x20
[ 11.156369] netlink_unicast+0x230/0x340
[ 11.156373] netlink_sendmsg+0x25e/0x4d0
[ 11.156376] sock_sendmsg+0x3a/0x50
[ 11.156380] ____sys_sendmsg+0x23a/0x260
[ 11.156382] ? import_iovec+0x1b/0x20
[ 11.156385] ? sendmsg_copy_msghdr+0x7b/0xa0
[ 11.156388] ? kfree+0xe7/0x320
[ 11.156392] ___sys_sendmsg+0x81/0xc0
[ 11.156395] ? proc_sys_write+0x13/0x20
[ 11.156398] ? new_sync_write+0xfb/0x170
[ 11.156401] ? icl_get_event_constraints+0x80/0x80
[ 11.156406] ? __fget_light+0xa3/0x120
[ 11.156411] __sys_sendmsg+0x5c/0xa0
[ 11.156414] __x64_sys_sendmsg+0x1d/0x20
[ 11.156417] do_syscall_64+0x56/0x80
[ 11.156422] ? syscall_exit_to_user_mode+0x26/0x40
[ 11.156425] ? __x64_sys_close+0x11/0x40
[ 11.156428] ? do_syscall_64+0x63/0x80
[ 11.156430] ? do_syscall_64+0x63/0x80
[ 11.156433] entry_SYSCALL_64_after_hwframe+0x46/0xb0
[ 11.156437] RIP: 0033:0x7f9b3f500b4d
[ 11.156439] Code: 28 89 54 24 1c 48 89 74 24 10 89 7c 24 08 e8 3a 8f f6 ff 8b 54 24 1c 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 33 44 89 c7 48 89 44 24 08 e8 7e 8f f6 ff 48
[ 11.156441] RSP: 002b:00007ffe73512100 EFLAGS: 00000293 ORIG_RAX: 000000000000002e
[ 11.156445] RAX: ffffffffffffffda RBX: 000000000000000c RCX: 00007f9b3f500b4d
[ 11.156447] RDX: 0000000000000000 RSI: 00007ffe73512140 RDI: 000000000000000c
[ 11.156448] RBP: 000055930b234040 R08: 0000000000000000 R09: 0000000000000000
[ 11.156450] R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000000
[ 11.156451] R13: 00007ffe73512290 R14: 00007ffe7351228c R15: 0000000000000000
[ 11.156455] </TASK>
[ 11.156456] ---[ end trace 0000000000000000 ]---

[Test case]

Install bcmwl-kernel-source on a device with the proper broadcom device.

[Fix]

Apply the following patches:

https://gist.github.com/joanbm/37fd0590f30b41e7e89ade6e242ca16e
https://gist.github.com/joanbm/052d8e951ba63d5eb5b6960bfe4e031a

[Regression potential]

Older kernels shouldn't be affected because the extra patches are affecting only kernels >= 5.17, and for 5.19+ these patches are supposed to add the proper support. However we may still notice regressions but only limited to the users of this bcmwl driver.

Tags: patch
Revision history for this message
Andrea Righi (arighi) wrote :

debdiff in attach allows to properly support kernel 5.19.

tags: added: patch
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.