The Apple BCM5974 trackpad & keyboard show up in sudo libinput list-devices when booted into 5.17.4. In 5.18-rc4, the keyboard works, but the trackpad does not. libinput list-devices shows the keyboard, but not the trackpad. This error shows up in dmesg: [ 7.144632] ------------[ cut here ]------------ [ 7.144635] xhci_hcd 0000:00:14.0: rejecting DMA map of vmalloc memory [ 7.144648] WARNING: CPU: 6 PID: 969 at include/linux/dma-mapping.h:326 usb_hcd_map_urb_for_dma+0x4c0/0x4f0 [ 7.144656] Modules linked in: mei_hdcp x86_pkg_temp_thermal intel_powerclamp snd_hda_codec_cirrus snd_hda_codec_generic ledtrig_audio snd_hda_codec_hdmi btusb btrtl wl(POE) kvm_intel btbcm snd_seq_midi snd_hda_intel btintel snd_seq_midi_event btmtk kvm bluetooth snd_intel_dspcfg snd_intel_sdw_acpi rapl applesmc snd_rawmidi ecdh_generic snd_hda_codec intel_cstate ecc joydev mei_me bcm5974 snd_hda_core input_leds cfg80211 efi_pstore(+) snd_hwdep apple_mfi_fastcharge snd_seq snd_pcm mei snd_seq_device snd_timer snd sbs(+) soundcore acpi_als industrialio_triggered_buffer sbshc kfifo_buf apple_gmux industrialio 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 ip_tables x_tables autofs4 zfs(POE) zunicode(POE) zzstd(OE) zlua(OE) zavl(POE) icp(POE) zcommon(POE) znvpair(POE) spl(OE) z3fold lz4 lz4_compress hid_logitech_hidpp hid_apple hid_logitech_dj hid_generic [ 7.144716] usbhid hid i915 nouveau mxm_wmi wmi drm_buddy i2c_algo_bit drm_ttm_helper ttm drm_dp_helper cec rc_core drm_kms_helper uas syscopyarea usb_storage sysfillrect crct10dif_pclmul crc32_pclmul ghash_clmulni_intel sysimgblt fb_sys_fops aesni_intel nvme crypto_simd i2c_i801 cryptd drm nvme_core thunderbolt lpc_ich i2c_smbus xhci_pci xhci_pci_renesas video [ 7.144742] CPU: 6 PID: 969 Comm: systemd-udevd Tainted: P OE 5.18.0-rc4 #1 [ 7.144745] Hardware name: Apple Inc. MacBookPro11,3/Mac-2BD1B31983FE1663, BIOS 432.60.3.0.0 10/27/2021 [ 7.144746] RIP: 0010:usb_hcd_map_urb_for_dma+0x4c0/0x4f0 [ 7.144752] Code: 50 c6 05 dd fd 8a 01 01 4d 85 f6 75 03 4d 8b 32 4c 89 d7 e8 42 6f ef ff 4c 89 f2 48 c7 c7 e8 3d 43 96 48 89 c6 e8 0f f7 36 00 <0f> 0b e9 58 ff ff ff 48 8b 35 32 e9 4a 01 e9 ae fe ff ff 48 8b 35 [ 7.144754] RSP: 0018:ffffb4494abd7978 EFLAGS: 00010286 [ 7.144756] RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffa0ae6f3a05a8 [ 7.144757] RDX: 00000000ffffffd8 RSI: 0000000000000027 RDI: ffffa0ae6f3a05a0 [ 7.144759] RBP: ffffb4494abd79b0 R08: 0000000000000003 R09: 0000000000000001 [ 7.144760] R10: ffffffffffffffff R11: 0000000000000001 R12: ffffa0ab16e42900 [ 7.144761] R13: ffffa0ab1e092000 R14: ffffa0ab0155cec0 R15: 00000000000001de [ 7.144762] FS: 00007f7696c778c0(0000) GS:ffffa0ae6f380000(0000) knlGS:0000000000000000 [ 7.144764] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 7.144766] CR2: 00007f76975c1f06 CR3: 000000011eda6005 CR4: 00000000001706e0 [ 7.144767] Call Trace: [ 7.144771] <TASK> [ 7.144774] xhci_map_urb_for_dma+0x14c/0x2b0 [ 7.144783] usb_hcd_submit_urb+0x98/0xc70 [ 7.144785] ? __slab_free+0xbf/0x310 [ 7.144789] ? usb_control_msg+0xfc/0x140 [ 7.144792] usb_submit_urb+0x24f/0x6c0 [ 7.144797] bcm5974_start_traffic+0x4c/0xa0 [bcm5974] [ 7.144801] bcm5974_open+0x44/0x90 [bcm5974] [ 7.144803] input_open_device+0x8d/0xe0 [ 7.144806] evdev_open+0x1cc/0x200 [ 7.144809] chrdev_open+0xc4/0x240 [ 7.144813] ? cdev_device_add+0x90/0x90 [ 7.144815] do_dentry_open+0x157/0x380 [ 7.144819] vfs_open+0x2d/0x30 [ 7.144823] path_openat+0xb5b/0x12b0 [ 7.144826] ? page_add_file_rmap+0x81/0x300 [ 7.144829] ? filemap_map_pages+0x148/0x7a0 [ 7.144833] do_filp_open+0xb6/0x160 [ 7.144836] ? __check_object_size+0x128/0x160 [ 7.144840] do_sys_openat2+0x9b/0x160 [ 7.144842] __x64_sys_openat+0x56/0x90 [ 7.144844] do_syscall_64+0x59/0x80 [ 7.144848] ? irqentry_exit_to_user_mode+0x9/0x20 [ 7.144850] ? irqentry_exit+0x33/0x40 [ 7.144852] ? exc_page_fault+0x87/0x170 [ 7.144854] ? asm_exc_page_fault+0x8/0x30 [ 7.144858] entry_SYSCALL_64_after_hwframe+0x44/0xae [ 7.144861] RIP: 0033:0x7f76974096eb [ 7.144864] Code: 25 00 00 41 00 3d 00 00 41 00 74 4b 64 8b 04 25 18 00 00 00 85 c0 75 67 44 89 e2 48 89 ee bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 91 00 00 00 48 8b 54 24 28 64 48 2b 14 25 [ 7.144866] RSP: 002b:00007ffff8b30d00 EFLAGS: 00000246 ORIG_RAX: 0000000000000101 [ 7.144868] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f76974096eb [ 7.144870] RDX: 0000000000080902 RSI: 0000558ac9a4b030 RDI: 00000000ffffff9c [ 7.144871] RBP: 0000558ac9a4b030 R08: 0000000000000000 R09: 0000000000000000 [ 7.144872] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000080902 [ 7.144873] R13: 00007ffff8b30da0 R14: 0000558ac9925570 R15: 0000558ac992557a [ 7.144875] </TASK> [ 7.144876] ---[ end trace 0000000000000000 ]--- When modprobe -r bcm5974 ; sleep 10 ; modprobe bcm5974 is run, I get this in the dmesg: [ 672.699368] usbcore: deregistering interface driver bcm5974 [ 672.755704] xhci_hcd 0000:00:14.0: dma_pool_free buffer-512, 00000000e2a5fe53/0xffffffffffffffff (bad dma) [ 676.513776] input: bcm5974 as /devices/pci0000:00/0000:00:14.0/usb1/1-12/1-12:1.2/input/input35 [ 676.513925] usbcore: registered new interface driver bcm5974 lspci -tv -[0000:00]-+-00.0 Intel Corporation Crystal Well DRAM Controller +-01.0-[01]--+-00.0 NVIDIA Corporation GK107M [GeForce GT 750M Mac Edition] | \-00.1 NVIDIA Corporation GK107 HDMI Audio Controller +-01.1-[06-9c]----00.0-[07-6c]--+-00.0-[08]----00.0 Intel Corporation DSL5520 Thunderbolt 2 NHI [Falcon Ridge 4C 2013] | +-03.0-[09-39]-- | +-04.0-[3a]-- | +-05.0-[3b-6b]-- | \-06.0-[6c]-- +-02.0 Intel Corporation Crystal Well Integrated Graphics Controller +-03.0 Intel Corporation Crystal Well HD Audio Controller +-14.0 Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI +-16.0 Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 +-1b.0 Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller +-1c.0-[02]-- +-1c.2-[03]----00.0 Broadcom Inc. and subsidiaries BCM4360 802.11ac Wireless Network Adapter +-1c.3-[04]----00.0 Broadcom Inc. and subsidiaries 720p FaceTime HD Camera +-1c.4-[05]----00.0 Micron/Crucial Technology P2 NVMe PCIe SSD +-1f.0 Intel Corporation HM87 Express LPC Controller \-1f.3 Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller Relevant libinput list-devices from 5.17.4: Device: Apple Inc. Apple Internal Keyboard / Trackpad Kernel: /dev/input/event6 Group: 6 Seat: seat0, default Capabilities: keyboard Tap-to-click: n/a Tap-and-drag: n/a Tap drag lock: n/a Left-handed: n/a Nat.scrolling: n/a Middle emulation: n/a Calibration: n/a Scroll methods: none Click methods: none Disable-w-typing: n/a Accel profiles: n/a Rotation: n/a Device: bcm5974 Kernel: /dev/input/event9 Group: 6 Seat: seat0, default Size: 107x75mm Capabilities: pointer gesture Tap-to-click: disabled Tap-and-drag: enabled Tap drag lock: disabled Left-handed: disabled Nat.scrolling: disabled Middle emulation: disabled Calibration: n/a Scroll methods: *two-finger edge Click methods: button-areas *clickfinger Disable-w-typing: enabled Accel profiles: flat *adaptive Rotation: n/a Relevant libinput list-devices from 5.18-rc4: Device: Apple Inc. Apple Internal Keyboard / Trackpad Kernel: /dev/input/event9 Group: 6 Seat: seat0, default Capabilities: keyboard Tap-to-click: n/a Tap-and-drag: n/a Tap drag lock: n/a Left-handed: n/a Nat.scrolling: n/a Middle emulation: n/a Calibration: n/a Scroll methods: none Click methods: none Disable-w-typing: n/a Accel profiles: n/a Rotation: n/a
Here is the same issue on 5.18-rc5: [ 6.809261] ------------[ cut here ]------------ [ 6.809263] xhci_hcd 0000:00:14.0: rejecting DMA map of vmalloc memory [ 6.809276] WARNING: CPU: 4 PID: 964 at include/linux/dma-mapping.h:326 usb_hcd_map_urb_for_dma+0x4c4/0x4f0 [ 6.809282] Modules linked in: btrtl mei_hdcp(+) snd_seq_midi joydev snd_seq_midi_event mei_pxp(+) snd_rawmidi kvm_intel(+) btbcm btintel snd_seq btmtk wl(POE+) snd_seq_device bluetooth kvm cmdlinepart input_leds ecdh_generic snd_timer rapl mei_me bcm5974 spi_nor applesmc ecc intel_cstate efi_pstore(+) apple_mfi_fastcharge cfg80211 mtd snd mei soundcore acpi_als sbs(+) industrialio_triggered_buffer kfifo_buf sbshc 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 ip_tables x_tables autofs4 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 usbhid hid i915 nouveau mxm_wmi wmi drm_buddy i2c_algo_bit drm_ttm_helper ttm drm_dp_helper cec rc_core drm_kms_helper uas syscopyarea usb_storage sysfillrect crct10dif_pclmul crc32_pclmul ghash_clmulni_intel [ 6.809350] sysimgblt fb_sys_fops aesni_intel spi_intel_platform nvme spi_intel crypto_simd i2c_i801 cryptd nvme_core drm thunderbolt i2c_smbus lpc_ich xhci_pci xhci_pci_renesas video [ 6.809362] CPU: 4 PID: 964 Comm: systemd-udevd Tainted: P OE 5.18.0-051800rc5-generic #202205011831 [ 6.809365] Hardware name: Apple Inc. MacBookPro11,3/Mac-2BD1B31983FE1663, BIOS 432.60.3.0.0 10/27/2021 [ 6.809366] RIP: 0010:usb_hcd_map_urb_for_dma+0x4c4/0x4f0 [ 6.809369] Code: 50 c6 05 e9 91 89 01 01 4d 85 f6 75 03 4d 8b 32 4c 89 d7 e8 ae 36 ef ff 4c 89 f2 48 c7 c7 f8 ff 64 b9 48 89 c6 e8 62 98 37 00 <0f> 0b e9 58 ff ff ff 48 8b 05 5e 5a 49 01 e9 ad fe ff ff 48 8b 05 [ 6.809371] RSP: 0018:ffffb7d94cd6b9c8 EFLAGS: 00010282 [ 6.809373] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000027 [ 6.809375] RDX: ffff90a2af3205a8 RSI: 0000000000000001 RDI: ffff90a2af3205a0 [ 6.809376] RBP: ffffb7d94cd6ba00 R08: 0000000000000000 R09: 00000000ba5e2bb8 [ 6.809378] R10: ffffffffffffffff R11: 0000000000000001 R12: ffff909f45045240 [ 6.809379] R13: ffff909f41156000 R14: ffff909f41565820 R15: 00000000000001de [ 6.809381] FS: 00007f67314bf8c0(0000) GS:ffff90a2af300000(0000) knlGS:0000000000000000 [ 6.809383] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 6.809384] CR2: 000056081d685260 CR3: 000000010506e003 CR4: 00000000001706e0 [ 6.809386] Call Trace: [ 6.809388] <TASK> [ 6.809390] xhci_map_urb_for_dma+0x149/0x170 [ 6.809396] usb_hcd_submit_urb+0x81/0x300 [ 6.809398] usb_submit_urb+0x254/0x6d0 [ 6.809402] bcm5974_start_traffic+0x4c/0xa0 [bcm5974] [ 6.809406] bcm5974_open+0x45/0x90 [bcm5974] [ 6.809409] input_open_device+0x8d/0xe0 [ 6.809413] evdev_open+0x1cc/0x200 [ 6.809417] chrdev_open+0xc4/0x240 [ 6.809421] ? cdev_device_add+0x90/0x90 [ 6.809423] do_dentry_open+0x157/0x380 [ 6.809427] vfs_open+0x2d/0x30 [ 6.809429] do_open+0x207/0x460 [ 6.809432] ? path_init+0x2c2/0x3f0 [ 6.809434] path_openat+0x10f/0x2b0 [ 6.809436] ? filemap_map_pages+0x2ba/0x530 [ 6.809439] do_filp_open+0xb2/0x160 [ 6.809442] ? __check_object_size+0x1a/0x20 [ 6.809445] ? alloc_fd+0xb9/0x170 [ 6.809449] do_sys_openat2+0x9c/0x160 [ 6.809452] __x64_sys_openat+0x55/0x90 [ 6.809454] do_syscall_64+0x59/0x80 [ 6.809458] ? do_user_addr_fault+0x1dc/0x670 [ 6.809461] ? exit_to_user_mode_prepare+0x37/0xb0 [ 6.809465] ? irqentry_exit_to_user_mode+0x9/0x20 [ 6.809467] ? irqentry_exit+0x35/0x40 [ 6.809469] ? exc_page_fault+0x87/0x180 [ 6.809471] ? asm_exc_page_fault+0x8/0x30 [ 6.809473] entry_SYSCALL_64_after_hwframe+0x44/0xae [ 6.809475] RIP: 0033:0x7f6731c516eb [ 6.809476] Code: 25 00 00 41 00 3d 00 00 41 00 74 4b 64 8b 04 25 18 00 00 00 85 c0 75 67 44 89 e2 48 89 ee bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 91 00 00 00 48 8b 54 24 28 64 48 2b 14 25 [ 6.809477] RSP: 002b:00007ffc2f15b910 EFLAGS: 00000246 ORIG_RAX: 0000000000000101 [ 6.809479] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f6731c516eb [ 6.809480] RDX: 0000000000080902 RSI: 000056081d7a7810 RDI: 00000000ffffff9c [ 6.809480] RBP: 000056081d7a7810 R08: 0000000000000000 R09: 0000000000000000 [ 6.809481] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000080902 [ 6.809482] R13: 00007ffc2f15b9b0 R14: 000056081d7a73c0 R15: 000056081d7a73ca [ 6.809484] </TASK> [ 6.809484] ---[ end trace 0000000000000000 ]---
Hi, this is your Linux kernel regression tracker. Linux-Input developers, do you have any idea what might be causing the problem outline below? It's a post 5.17 regression in mainline that was reported to bugzilla.kernel.org about a week ago, but didn't even get a single reply. Might be some other subsystem that is causing it, not sure. On 27.04.22 00:42, bugzilla-daemon@kernel.org wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=215890 > > Bug ID: 215890 > Summary: Regression in 5.18: bcm5974 trackpad causes error: > xhci_hcd rejecting DMA map of vmalloc memory > Product: Drivers > Version: 2.5 > Kernel Version: 5.18-rc4 > Hardware: Intel > OS: Linux > Tree: Mainline > Status: NEW > Severity: high > Priority: P1 > Component: USB > Assignee: drivers_usb@kernel-bugs.kernel.org > Reporter: satadru@umich.edu > Regression: No > > The Apple BCM5974 trackpad & keyboard show up in sudo libinput list-devices > when booted into 5.17.4. > > In 5.18-rc4, the keyboard works, but the trackpad does not. libinput > list-devices shows the keyboard, but not the trackpad. > > This error shows up in dmesg: > > [ 7.144632] ------------[ cut here ]------------ > [ 7.144635] xhci_hcd 0000:00:14.0: rejecting DMA map of vmalloc memory > [ 7.144648] WARNING: CPU: 6 PID: 969 at include/linux/dma-mapping.h:326 > usb_hcd_map_urb_for_dma+0x4c0/0x4f0 > [ 7.144656] Modules linked in: mei_hdcp x86_pkg_temp_thermal > intel_powerclamp snd_hda_codec_cirrus snd_hda_codec_generic ledtrig_audio > snd_hda_codec_hdmi btusb btrtl wl(POE) kvm_intel btbcm snd_seq_midi > snd_hda_intel btintel snd_seq_midi_event btmtk kvm bluetooth snd_intel_dspcfg > snd_intel_sdw_acpi rapl applesmc snd_rawmidi ecdh_generic snd_hda_codec > intel_cstate ecc joydev mei_me bcm5974 snd_hda_core input_leds cfg80211 > efi_pstore(+) snd_hwdep apple_mfi_fastcharge snd_seq snd_pcm mei > snd_seq_device > snd_timer snd sbs(+) soundcore acpi_als industrialio_triggered_buffer sbshc > kfifo_buf apple_gmux industrialio 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 > ip_tables > x_tables autofs4 zfs(POE) zunicode(POE) zzstd(OE) zlua(OE) zavl(POE) icp(POE) > zcommon(POE) znvpair(POE) spl(OE) z3fold lz4 lz4_compress hid_logitech_hidpp > hid_apple hid_logitech_dj hid_generic > [ 7.144716] usbhid hid i915 nouveau mxm_wmi wmi drm_buddy i2c_algo_bit > drm_ttm_helper ttm drm_dp_helper cec rc_core drm_kms_helper uas syscopyarea > usb_storage sysfillrect crct10dif_pclmul crc32_pclmul ghash_clmulni_intel > sysimgblt fb_sys_fops aesni_intel nvme crypto_simd i2c_i801 cryptd drm > nvme_core thunderbolt lpc_ich i2c_smbus xhci_pci xhci_pci_renesas video > [ 7.144742] CPU: 6 PID: 969 Comm: systemd-udevd Tainted: P OE > 5.18.0-rc4 #1 > [ 7.144745] Hardware name: Apple Inc. MacBookPro11,3/Mac-2BD1B31983FE1663, > BIOS 432.60.3.0.0 10/27/2021 > [ 7.144746] RIP: 0010:usb_hcd_map_urb_for_dma+0x4c0/0x4f0 > [ 7.144752] Code: 50 c6 05 dd fd 8a 01 01 4d 85 f6 75 03 4d 8b 32 4c 89 d7 > e8 42 6f ef ff 4c 89 f2 48 c7 c7 e8 3d 43 96 48 89 c6 e8 0f f7 36 00 <0f> 0b > e9 > 58 ff ff ff 48 8b 35 32 e9 4a 01 e9 ae fe ff ff 48 8b 35 > [ 7.144754] RSP: 0018:ffffb4494abd7978 EFLAGS: 00010286 > [ 7.144756] RAX: 0000000000000000 RBX: 0000000000000000 RCX: > ffffa0ae6f3a05a8 > [ 7.144757] RDX: 00000000ffffffd8 RSI: 0000000000000027 RDI: > ffffa0ae6f3a05a0 > [ 7.144759] RBP: ffffb4494abd79b0 R08: 0000000000000003 R09: > 0000000000000001 > [ 7.144760] R10: ffffffffffffffff R11: 0000000000000001 R12: > ffffa0ab16e42900 > [ 7.144761] R13: ffffa0ab1e092000 R14: ffffa0ab0155cec0 R15: > 00000000000001de > [ 7.144762] FS: 00007f7696c778c0(0000) GS:ffffa0ae6f380000(0000) > knlGS:0000000000000000 > [ 7.144764] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > [ 7.144766] CR2: 00007f76975c1f06 CR3: 000000011eda6005 CR4: > 00000000001706e0 > [ 7.144767] Call Trace: > [ 7.144771] <TASK> > [ 7.144774] xhci_map_urb_for_dma+0x14c/0x2b0 > [ 7.144783] usb_hcd_submit_urb+0x98/0xc70 > [ 7.144785] ? __slab_free+0xbf/0x310 > [ 7.144789] ? usb_control_msg+0xfc/0x140 > [ 7.144792] usb_submit_urb+0x24f/0x6c0 > [ 7.144797] bcm5974_start_traffic+0x4c/0xa0 [bcm5974] > [ 7.144801] bcm5974_open+0x44/0x90 [bcm5974] > [ 7.144803] input_open_device+0x8d/0xe0 > [ 7.144806] evdev_open+0x1cc/0x200 > [ 7.144809] chrdev_open+0xc4/0x240 > [ 7.144813] ? cdev_device_add+0x90/0x90 > [ 7.144815] do_dentry_open+0x157/0x380 > [ 7.144819] vfs_open+0x2d/0x30 > [ 7.144823] path_openat+0xb5b/0x12b0 > [ 7.144826] ? page_add_file_rmap+0x81/0x300 > [ 7.144829] ? filemap_map_pages+0x148/0x7a0 > [ 7.144833] do_filp_open+0xb6/0x160 > [ 7.144836] ? __check_object_size+0x128/0x160 > [ 7.144840] do_sys_openat2+0x9b/0x160 > [ 7.144842] __x64_sys_openat+0x56/0x90 > [ 7.144844] do_syscall_64+0x59/0x80 > [ 7.144848] ? irqentry_exit_to_user_mode+0x9/0x20 > [ 7.144850] ? irqentry_exit+0x33/0x40 > [ 7.144852] ? exc_page_fault+0x87/0x170 > [ 7.144854] ? asm_exc_page_fault+0x8/0x30 > [ 7.144858] entry_SYSCALL_64_after_hwframe+0x44/0xae > [ 7.144861] RIP: 0033:0x7f76974096eb > [ 7.144864] Code: 25 00 00 41 00 3d 00 00 41 00 74 4b 64 8b 04 25 18 00 00 > 00 85 c0 75 67 44 89 e2 48 89 ee bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d > 00 > f0 ff ff 0f 87 91 00 00 00 48 8b 54 24 28 64 48 2b 14 25 > [ 7.144866] RSP: 002b:00007ffff8b30d00 EFLAGS: 00000246 ORIG_RAX: > 0000000000000101 > [ 7.144868] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: > 00007f76974096eb > [ 7.144870] RDX: 0000000000080902 RSI: 0000558ac9a4b030 RDI: > 00000000ffffff9c > [ 7.144871] RBP: 0000558ac9a4b030 R08: 0000000000000000 R09: > 0000000000000000 > [ 7.144872] R10: 0000000000000000 R11: 0000000000000246 R12: > 0000000000080902 > [ 7.144873] R13: 00007ffff8b30da0 R14: 0000558ac9925570 R15: > 0000558ac992557a > [ 7.144875] </TASK> > [ 7.144876] ---[ end trace 0000000000000000 ]--- For more details check this thread or the bugzilla ticket, it has a second comment already from the reporter. Anyway, to get this tracked: #regzbot introduced: v5.17..v5.18-rc4 #regzbot from: Satadru Pramanik <satadru@umich.edu> #regzbot title: input/usb/???: bcm5974 trackpad causes error: xhci_hcd rejecting DMA map of vmalloc memory #regzbot link: https://bugzilla.kernel.org/show_bug.cgi?id=215890 Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat) P.S.: As the Linux kernel's regression tracker I deal with a lot of reports and sometimes miss something important when writing mails like this. If that's the case here, don't hesitate to tell me in a public reply, it's in everyone's interest to set the public record straight.
the same issue exists with 5.18-rc6. [ 6.585246] ------------[ cut here ]------------ [ 6.585248] xhci_hcd 0000:00:14.0: rejecting DMA map of vmalloc memory [ 6.585260] WARNING: CPU: 2 PID: 944 at include/linux/dma-mapping.h:326 usb_hcd_map_urb_for_dma+0x4c4/0x4f0 [ 6.585266] Modules linked in: applesmc(+) intel_rapl_common x86_pkg_temp_thermal intel_powerclamp kvm_intel kvm rapl snd_hda_codec_cirrus snd_hda_codec_generic ledtrig_audio snd_hda_codec_hdmi snd_hda_intel btusb snd_intel_dspcfg snd_intel_sdw_acpi btrtl sch_fq_codel snd_hda_codec btbcm intel_cstate btintel snd_hda_core btmtk snd_seq_midi snd_hwdep snd_seq_midi_event snd_pcm wl(POE) cmdlinepart bluetooth snd_rawmidi snd_seq snd_seq_device spi_nor snd_timer ecdh_generic ecc efi_pstore joydev snd mtd mei_me input_leds bcm5974 cfg80211 apple_mfi_fastcharge mei soundcore sbs(+) acpi_als industrialio_triggered_buffer sbshc 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 ip_tables x_tables autofs4 zfs(POE) zunicode(POE) zzstd(OE) zlua(OE) zavl(POE) icp(POE) zcommon(POE) znvpair(POE) spl(OE) z3fold lz4 lz4_compress [ 6.585333] hid_logitech_hidpp hid_apple hid_logitech_dj hid_generic usbhid hid uas i915 usb_storage nouveau mxm_wmi wmi drm_buddy i2c_algo_bit drm_ttm_helper ttm drm_dp_helper cec rc_core drm_kms_helper syscopyarea sysfillrect spi_intel_platform sysimgblt crct10dif_pclmul crc32_pclmul fb_sys_fops ghash_clmulni_intel aesni_intel spi_intel nvme crypto_simd i2c_i801 cryptd drm nvme_core i2c_smbus thunderbolt lpc_ich xhci_pci xhci_pci_renesas video [ 6.585365] CPU: 2 PID: 944 Comm: systemd-udevd Tainted: P OE 5.18.0-051800rc6-generic #202205082130 [ 6.585367] Hardware name: Apple Inc. MacBookPro11,3/Mac-2BD1B31983FE1663, BIOS 432.60.3.0.0 10/27/2021 [ 6.585369] RIP: 0010:usb_hcd_map_urb_for_dma+0x4c4/0x4f0 [ 6.585372] Code: 50 c6 05 19 8e 89 01 01 4d 85 f6 75 03 4d 8b 32 4c 89 d7 e8 ae 36 ef ff 4c 89 f2 48 c7 c7 38 00 05 a2 48 89 c6 e8 d2 94 37 00 <0f> 0b e9 58 ff ff ff 48 8b 05 ce 56 49 01 e9 ad fe ff ff 48 8b 05 [ 6.585374] RSP: 0018:ffffaa6e8c883a28 EFLAGS: 00010282 [ 6.585377] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000027 [ 6.585378] RDX: ffff9443ef2a05a8 RSI: 0000000000000001 RDI: ffff9443ef2a05a0 [ 6.585380] RBP: ffffaa6e8c883a60 R08: 0000000000000000 R09: 00000000a2fe3bc8 [ 6.585381] R10: ffffffffffffffff R11: 0000000000000001 R12: ffff944085dc30c0 [ 6.585382] R13: ffff944080d90000 R14: ffff944081566bd0 R15: 00000000000001de [ 6.585384] FS: 00007fc26cbd88c0(0000) GS:ffff9443ef280000(0000) knlGS:0000000000000000 [ 6.585386] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 6.585388] CR2: 00005561b2f6f2f8 CR3: 000000010643a006 CR4: 00000000001706e0 [ 6.585390] Call Trace: [ 6.585391] <TASK> [ 6.585394] xhci_map_urb_for_dma+0x149/0x170 [ 6.585399] usb_hcd_submit_urb+0x81/0x300 [ 6.585402] usb_submit_urb+0x254/0x6d0 [ 6.585406] bcm5974_start_traffic+0x4c/0xa0 [bcm5974] [ 6.585410] bcm5974_open+0x45/0x90 [bcm5974] [ 6.585413] input_open_device+0x8d/0xe0 [ 6.585418] evdev_open+0x1cc/0x200 [ 6.585421] chrdev_open+0xc4/0x240 [ 6.585425] ? cdev_device_add+0x90/0x90 [ 6.585428] do_dentry_open+0x157/0x380 [ 6.585432] vfs_open+0x2d/0x30 [ 6.585434] do_open+0x207/0x460 [ 6.585437] ? path_init+0x2c2/0x3f0 [ 6.585439] path_openat+0x10f/0x2b0 [ 6.585442] do_filp_open+0xb2/0x160 [ 6.585445] ? __check_object_size+0x1a/0x20 [ 6.585448] ? alloc_fd+0xb9/0x170 [ 6.585452] do_sys_openat2+0x9c/0x160 [ 6.585455] __x64_sys_openat+0x55/0x90 [ 6.585458] do_syscall_64+0x59/0x80 [ 6.585462] ? irqentry_exit_to_user_mode+0x9/0x20 [ 6.585465] ? irqentry_exit+0x35/0x40 [ 6.585467] ? exc_page_fault+0x87/0x180 [ 6.585470] ? asm_exc_page_fault+0x8/0x30 [ 6.585472] entry_SYSCALL_64_after_hwframe+0x44/0xae [ 6.585475] RIP: 0033:0x7fc26d36a6eb [ 6.585477] Code: 25 00 00 41 00 3d 00 00 41 00 74 4b 64 8b 04 25 18 00 00 00 85 c0 75 67 44 89 e2 48 89 ee bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 91 00 00 00 48 8b 54 24 28 64 48 2b 14 25 [ 6.585479] RSP: 002b:00007ffc55bb8980 EFLAGS: 00000246 ORIG_RAX: 0000000000000101 [ 6.585481] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fc26d36a6eb [ 6.585482] RDX: 0000000000080902 RSI: 00005561b4d8f8f0 RDI: 00000000ffffff9c [ 6.585484] RBP: 00005561b4d8f8f0 R08: 0000000000000000 R09: 0000000000000000 [ 6.585485] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000080902 [ 6.585486] R13: 00007ffc55bb8a20 R14: 00005561b4d9f2a0 R15: 00005561b4d9f2aa [ 6.585489] </TASK> [ 6.585490] ---[ end trace 0000000000000000 ]---
If you could test 5.18-rc1, and maybe bisect, that’d be great.
5.18-rc1 has the same issue... Is it worth bisecting between 5.17 ad 5.18-rc1? Maybe there are obvious suspect commits to start with?
On Tue, May 10, 2022 at 08:50:40PM +0000, bugzilla-daemon@kernel.org wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=215890 > > --- Comment #5 from Satadru Pramanik (satadru@umich.edu) --- > 5.18-rc1 has the same issue... > > Is it worth bisecting between 5.17 ad 5.18-rc1? > > Maybe there are obvious suspect commits to start with? Yes, please bisect.
After bisection: git bisect good f5ff79fddf0efecca538046b5cc20fb3ded2ec4f is the first bad commit commit f5ff79fddf0efecca538046b5cc20fb3ded2ec4f Author: Christoph Hellwig <hch@lst.de> Date: Sat Feb 26 16:40:21 2022 +0100 dma-mapping: remove CONFIG_DMA_REMAP CONFIG_DMA_REMAP is used to build a few helpers around the core vmalloc code, and to use them in case there is a highmem page in dma-direct, and to make dma coherent allocations be able to use non-contiguous pages allocations for DMA allocations in the dma-iommu layer. Right now it needs to be explicitly selected by architectures, and is only done so by architectures that require remapping to deal with devices that are not DMA coherent. Make it unconditional for builds with CONFIG_MMU as it is very little extra code, but makes it much more likely that large DMA allocations succeed on x86. This fixes hot plugging a NVMe thunderbolt SSD for me, which tries to allocate a 1MB buffer that is otherwise hard to obtain due to memory fragmentation on a heavily used laptop. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Robin Murphy <robin.murphy@arm.com> arch/arm/Kconfig | 2 +- arch/xtensa/Kconfig | 2 +- drivers/iommu/dma-iommu.c | 14 +++++--------- kernel/dma/Kconfig | 7 +------ kernel/dma/Makefile | 2 +- kernel/dma/direct.c | 18 +++++++----------- 6 files changed, 16 insertions(+), 29 deletions(-)
On 04.05.22 10:42, Thorsten Leemhuis wrote: > > Linux-Input developers, do you have any idea what might be causing the > problem outline below? It's a post 5.17 regression in mainline that was > reported to bugzilla.kernel.org about a week ago, but didn't even get a > single reply. Might be some other subsystem that is causing it, not sure. > > On 27.04.22 00:42, bugzilla-daemon@kernel.org wrote: >> https://bugzilla.kernel.org/show_bug.cgi?id=215890 FYI, the reporter bisected this regression down to f5ff79fddf0e ("dma-mapping: remove CONFIG_DMA_REMAP"). CCing Christoph, who authored that change (I wonder if it just exposed an existing bug, but well, that's up for you to discuss). Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat) P.S.: As the Linux kernel's regression tracker I deal with a lot of reports and sometimes miss something important when writing mails like this. If that's the case here, don't hesitate to tell me in a public reply, it's in everyone's interest to set the public record straight. #regzbot introduced: f5ff79fddf0efecca538046b5cc20fb3ded2 >> Bug ID: 215890 >> Summary: Regression in 5.18: bcm5974 trackpad causes error: >> xhci_hcd rejecting DMA map of vmalloc memory >> Product: Drivers >> Version: 2.5 >> Kernel Version: 5.18-rc4 >> Hardware: Intel >> OS: Linux >> Tree: Mainline >> Status: NEW >> Severity: high >> Priority: P1 >> Component: USB >> Assignee: drivers_usb@kernel-bugs.kernel.org >> Reporter: satadru@umich.edu >> Regression: No >> >> The Apple BCM5974 trackpad & keyboard show up in sudo libinput list-devices >> when booted into 5.17.4. >> >> In 5.18-rc4, the keyboard works, but the trackpad does not. libinput >> list-devices shows the keyboard, but not the trackpad. >> >> This error shows up in dmesg: >> >> [ 7.144632] ------------[ cut here ]------------ >> [ 7.144635] xhci_hcd 0000:00:14.0: rejecting DMA map of vmalloc memory >> [ 7.144648] WARNING: CPU: 6 PID: 969 at include/linux/dma-mapping.h:326 >> usb_hcd_map_urb_for_dma+0x4c0/0x4f0 >> [ 7.144656] Modules linked in: mei_hdcp x86_pkg_temp_thermal >> intel_powerclamp snd_hda_codec_cirrus snd_hda_codec_generic ledtrig_audio >> snd_hda_codec_hdmi btusb btrtl wl(POE) kvm_intel btbcm snd_seq_midi >> snd_hda_intel btintel snd_seq_midi_event btmtk kvm bluetooth >> snd_intel_dspcfg >> snd_intel_sdw_acpi rapl applesmc snd_rawmidi ecdh_generic snd_hda_codec >> intel_cstate ecc joydev mei_me bcm5974 snd_hda_core input_leds cfg80211 >> efi_pstore(+) snd_hwdep apple_mfi_fastcharge snd_seq snd_pcm mei >> snd_seq_device >> snd_timer snd sbs(+) soundcore acpi_als industrialio_triggered_buffer sbshc >> kfifo_buf apple_gmux industrialio 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 >> ip_tables >> x_tables autofs4 zfs(POE) zunicode(POE) zzstd(OE) zlua(OE) zavl(POE) >> icp(POE) >> zcommon(POE) znvpair(POE) spl(OE) z3fold lz4 lz4_compress hid_logitech_hidpp >> hid_apple hid_logitech_dj hid_generic >> [ 7.144716] usbhid hid i915 nouveau mxm_wmi wmi drm_buddy i2c_algo_bit >> drm_ttm_helper ttm drm_dp_helper cec rc_core drm_kms_helper uas syscopyarea >> usb_storage sysfillrect crct10dif_pclmul crc32_pclmul ghash_clmulni_intel >> sysimgblt fb_sys_fops aesni_intel nvme crypto_simd i2c_i801 cryptd drm >> nvme_core thunderbolt lpc_ich i2c_smbus xhci_pci xhci_pci_renesas video >> [ 7.144742] CPU: 6 PID: 969 Comm: systemd-udevd Tainted: P OE >> 5.18.0-rc4 #1 >> [ 7.144745] Hardware name: Apple Inc. >> MacBookPro11,3/Mac-2BD1B31983FE1663, >> BIOS 432.60.3.0.0 10/27/2021 >> [ 7.144746] RIP: 0010:usb_hcd_map_urb_for_dma+0x4c0/0x4f0 >> [ 7.144752] Code: 50 c6 05 dd fd 8a 01 01 4d 85 f6 75 03 4d 8b 32 4c 89 >> d7 >> e8 42 6f ef ff 4c 89 f2 48 c7 c7 e8 3d 43 96 48 89 c6 e8 0f f7 36 00 <0f> 0b >> e9 >> 58 ff ff ff 48 8b 35 32 e9 4a 01 e9 ae fe ff ff 48 8b 35 >> [ 7.144754] RSP: 0018:ffffb4494abd7978 EFLAGS: 00010286 >> [ 7.144756] RAX: 0000000000000000 RBX: 0000000000000000 RCX: >> ffffa0ae6f3a05a8 >> [ 7.144757] RDX: 00000000ffffffd8 RSI: 0000000000000027 RDI: >> ffffa0ae6f3a05a0 >> [ 7.144759] RBP: ffffb4494abd79b0 R08: 0000000000000003 R09: >> 0000000000000001 >> [ 7.144760] R10: ffffffffffffffff R11: 0000000000000001 R12: >> ffffa0ab16e42900 >> [ 7.144761] R13: ffffa0ab1e092000 R14: ffffa0ab0155cec0 R15: >> 00000000000001de >> [ 7.144762] FS: 00007f7696c778c0(0000) GS:ffffa0ae6f380000(0000) >> knlGS:0000000000000000 >> [ 7.144764] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 >> [ 7.144766] CR2: 00007f76975c1f06 CR3: 000000011eda6005 CR4: >> 00000000001706e0 >> [ 7.144767] Call Trace: >> [ 7.144771] <TASK> >> [ 7.144774] xhci_map_urb_for_dma+0x14c/0x2b0 >> [ 7.144783] usb_hcd_submit_urb+0x98/0xc70 >> [ 7.144785] ? __slab_free+0xbf/0x310 >> [ 7.144789] ? usb_control_msg+0xfc/0x140 >> [ 7.144792] usb_submit_urb+0x24f/0x6c0 >> [ 7.144797] bcm5974_start_traffic+0x4c/0xa0 [bcm5974] >> [ 7.144801] bcm5974_open+0x44/0x90 [bcm5974] >> [ 7.144803] input_open_device+0x8d/0xe0 >> [ 7.144806] evdev_open+0x1cc/0x200 >> [ 7.144809] chrdev_open+0xc4/0x240 >> [ 7.144813] ? cdev_device_add+0x90/0x90 >> [ 7.144815] do_dentry_open+0x157/0x380 >> [ 7.144819] vfs_open+0x2d/0x30 >> [ 7.144823] path_openat+0xb5b/0x12b0 >> [ 7.144826] ? page_add_file_rmap+0x81/0x300 >> [ 7.144829] ? filemap_map_pages+0x148/0x7a0 >> [ 7.144833] do_filp_open+0xb6/0x160 >> [ 7.144836] ? __check_object_size+0x128/0x160 >> [ 7.144840] do_sys_openat2+0x9b/0x160 >> [ 7.144842] __x64_sys_openat+0x56/0x90 >> [ 7.144844] do_syscall_64+0x59/0x80 >> [ 7.144848] ? irqentry_exit_to_user_mode+0x9/0x20 >> [ 7.144850] ? irqentry_exit+0x33/0x40 >> [ 7.144852] ? exc_page_fault+0x87/0x170 >> [ 7.144854] ? asm_exc_page_fault+0x8/0x30 >> [ 7.144858] entry_SYSCALL_64_after_hwframe+0x44/0xae >> [ 7.144861] RIP: 0033:0x7f76974096eb >> [ 7.144864] Code: 25 00 00 41 00 3d 00 00 41 00 74 4b 64 8b 04 25 18 00 >> 00 >> 00 85 c0 75 67 44 89 e2 48 89 ee bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d >> 00 >> f0 ff ff 0f 87 91 00 00 00 48 8b 54 24 28 64 48 2b 14 25 >> [ 7.144866] RSP: 002b:00007ffff8b30d00 EFLAGS: 00000246 ORIG_RAX: >> 0000000000000101 >> [ 7.144868] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: >> 00007f76974096eb >> [ 7.144870] RDX: 0000000000080902 RSI: 0000558ac9a4b030 RDI: >> 00000000ffffff9c >> [ 7.144871] RBP: 0000558ac9a4b030 R08: 0000000000000000 R09: >> 0000000000000000 >> [ 7.144872] R10: 0000000000000000 R11: 0000000000000246 R12: >> 0000000000080902 >> [ 7.144873] R13: 00007ffff8b30da0 R14: 0000558ac9925570 R15: >> 0000558ac992557a >> [ 7.144875] </TASK> >> [ 7.144876] ---[ end trace 0000000000000000 ]--- > > For more details check this thread or the bugzilla ticket, it has a > second comment already from the reporter. > > Anyway, to get this tracked: > > #regzbot introduced: v5.17..v5.18-rc4 > #regzbot from: Satadru Pramanik <satadru@umich.edu> > #regzbot title: input/usb/???: bcm5974 trackpad causes error: xhci_hcd > rejecting DMA map of vmalloc memory > #regzbot link: https://bugzilla.kernel.org/show_bug.cgi?id=215890 > > Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat) > > P.S.: As the Linux kernel's regression tracker I deal with a lot of > reports and sometimes miss something important when writing mails like > this. If that's the case here, don't hesitate to tell me in a public > reply, it's in everyone's interest to set the public record straight.
On Fri, May 13, 2022 at 10:24:34AM +0200, Thorsten Leemhuis wrote: > On 04.05.22 10:42, Thorsten Leemhuis wrote: > > > > Linux-Input developers, do you have any idea what might be causing the > > problem outline below? It's a post 5.17 regression in mainline that was > > reported to bugzilla.kernel.org about a week ago, but didn't even get a > > single reply. Might be some other subsystem that is causing it, not sure. > > > > On 27.04.22 00:42, bugzilla-daemon@kernel.org wrote: > >> https://bugzilla.kernel.org/show_bug.cgi?id=215890 > > FYI, the reporter bisected this regression down to f5ff79fddf0e > ("dma-mapping: remove CONFIG_DMA_REMAP"). CCing Christoph, who authored > that change (I wonder if it just exposed an existing bug, but well, > that's up for you to discuss). > > Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat) > > P.S.: As the Linux kernel's regression tracker I deal with a lot of > reports and sometimes miss something important when writing mails like > this. If that's the case here, don't hesitate to tell me in a public > reply, it's in everyone's interest to set the public record straight. > > #regzbot introduced: f5ff79fddf0efecca538046b5cc20fb3ded2 Well, this just uncovered an existing bug in the driver. You can not just dma map memory returned from dma_alloc_coherent, and this driver would already get vmalloc memory on arm/arm64 platforms anyway, we now just do the same on x86 as well.
On Fri, May 13, 2022 at 12:37:24PM +0200, Christoph Hellwig wrote: > > #regzbot introduced: f5ff79fddf0efecca538046b5cc20fb3ded2 > > Well, this just uncovered an existing bug in the driver. You can not > just dma map memory returned from dma_alloc_coherent, and this driver > would already get vmalloc memory on arm/arm64 platforms anyway, we > now just do the same on x86 as well. From a quick look through the trace it seems somehow usb_hcd_map_urb_for_dma tries to create another DMA mapping for a buffer allocated from usb_alloc_coherent that uses a dma coherent allocation below. It really needs to use the dma address returned from usb_alloc_coherent instead of trying to map the URB again. But I don't have the slightest idea of why that only happens for this particular setup, and I really need some helpe from the usb folks to untangle it
Could it be that bcm5974 driver just forgot to set the URB_NO_TRANSFER_DMA_MAP flag in urb transfer_flags? If the usb driver does the allocation and dma mapping, and sets urb->transfer_dma then it should set that flag. Otherwise usbcore will map the DMA address. Documentation/driver-api/usb/dma.rst: - URBs have an additional "transfer_dma" field, as well as a transfer_flags bit saying if it's valid. (Control requests also have "setup_dma", but drivers must not use it.) - "usbcore" will map this DMA address, if a DMA-aware driver didn't do it first and set ``URB_NO_TRANSFER_DMA_MAP``. HCDs don't manage dma mappings for URBs.
Created attachment 300952 [details] bcm5974_add_urb_flag quick testpatch that just adds the missing URB flags, Does it work? I don't have this hardware myself
I will test this patch against 5.18-rc6 today on my hardware.
I can confirm that the patch resolves the problem! Thanks so much!
(In reply to Mathias Nyman from comment #12) > Created attachment 300952 [details] > bcm5974_add_urb_flag > > quick testpatch that just adds the missing URB flags, > Does it work? I don't have this hardware myself Could we get that patch added to the driver for 5.18?
This is resolved in 5.18-rc7. Thanks, everyone!
(In reply to Satadru Pramanik from comment #16) > This is resolved in 5.18-rc7. Are you sure? The change from Mathias (thx for providing it) did not land yet.
I just tested the Ubuntu mainline build... Maybe I accidentally used the older fixed kernel I built. The fix should definitely land to fix this properly.
I'm not sure what changed, but it is working on the ubuntu mainline build of 5.18-rc7. The aforementioned patch is not in there. There is a dma-buf patch in 5.18-rc7, but I can't tell if that would make a difference here. The bcm5974 driver is definitely loaded without errors: satadru@mbp113 ~$ lsusb -tv /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M ID 1d6b:0003 Linux Foundation 3.0 root hub |__ Port 4: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M ID 05ac:8406 Apple, Inc. Internal Memory Card Reader /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M ID 1d6b:0002 Linux Foundation 2.0 root hub |__ Port 8: Dev 2, If 0, Class=Hub, Driver=hub/3p, 12M ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth) |__ Port 3: Dev 6, If 3, Class=Application Specific Interface, Driver=, 12M ID 05ac:8289 Apple, Inc. Bluetooth Host Controller |__ Port 3: Dev 6, If 1, Class=Wireless, Driver=btusb, 12M ID 05ac:8289 Apple, Inc. Bluetooth Host Controller |__ Port 3: Dev 6, If 2, Class=Vendor Specific Class, Driver=btusb, 12M ID 05ac:8289 Apple, Inc. Bluetooth Host Controller |__ Port 3: Dev 6, If 0, Class=Vendor Specific Class, Driver=btusb, 12M ID 05ac:8289 Apple, Inc. Bluetooth Host Controller |__ Port 12: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M ID 05ac:0262 Apple, Inc. |__ Port 12: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 12M ID 05ac:0262 Apple, Inc. |__ Port 12: Dev 3, If 2, Class=Human Interface Device, Driver=bcm5974, 12M ID 05ac:0262 Apple, Inc. satadru@mbp113 ~$ modinfo bcm5974 filename: /lib/modules/5.18.0-051800rc7-generic/kernel/drivers/input/mouse/bcm5974.ko license: GPL description: Apple USB BCM5974 multitouch driver author: Henrik Rydberg srcversion: 0BB7AB5EB48AF28F1C4CD31 alias: usb:v05ACp0274d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0273d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0272d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0292d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0291d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0290d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp025Bd*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp025Ad*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0259d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0264d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0263d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0262d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0254d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0253d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0252d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp024Ed*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp024Dd*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp024Cd*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp024Bd*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp024Ad*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0249d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0247d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0246d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0245d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0244d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0243d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0242d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0241d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0240d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp023Fd*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0238d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0237d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0236d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0232d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0231d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0230d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0225d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0224d*dc*dsc*dp*ic03isc*ip02in* alias: usb:v05ACp0223d*dc*dsc*dp*ic03isc*ip02in* depends: retpoline: Y intree: Y name: bcm5974 vermagic: 5.18.0-051800rc7-generic SMP preempt mod_unload modversions sig_id: PKCS#7 signer: Build time autogenerated kernel key sig_key: 16:26:F9:99:B7:74:1B:1E:3D:8C:FA:BD:74:AD:55:7A:E7:0C:0C:4A sig_hashalgo: sha512 signature: 02:8D:46:9D:9B:6C:A3:D9:E5:A2:CD:30:02:E3:DA:1A:DD:E8:89:89: 2B:A3:94:E2:DE:2F:FF:0A:D4:3F:78:AE:28:D2:59:5A:4C:9D:E2:4F: 82:28:97:49:0B:12:9B:6C:DB:AC:25:F0:3B:11:8C:9D:8C:23:19:B0: DC:64:DC:00:01:2A:61:19:59:8F:D6:DA:2A:33:BC:0B:E3:81:76:2F: 42:C0:F6:9C:8C:95:29:F9:1B:66:83:F5:5D:05:CF:81:F9:F8:06:5A: EB:53:1D:8F:50:6F:38:47:A9:AA:43:A9:A4:F5:27:B4:EC:5F:C4:3A: E9:2D:BD:45:99:92:55:88:80:42:37:1A:A0:EB:AE:27:AD:73:AD:78: B7:6C:C6:C6:6C:51:8C:81:40:C2:16:26:BC:61:D5:36:90:C5:AD:C1: AF:77:48:61:16:3B:49:61:DD:2C:EA:A3:5E:F1:47:0F:41:5A:AC:8C: 4B:6F:60:74:23:38:5D:8A:6E:74:27:B3:A5:FA:09:E5:6E:3E:CD:42: 66:5E:2F:53:47:96:33:4E:70:2C:23:D9:E1:52:39:5D:52:11:BF:51: E2:67:89:29:0D:8A:04:8D:B4:51:DD:38:BE:D1:B7:8B:55:32:B8:18: FB:E1:C2:50:A6:58:99:EC:31:F1:99:70:B6:D9:C3:96:48:04:01:06: E0:7A:99:B4:D4:B6:70:46:32:BE:38:0C:54:CA:99:DB:04:55:58:DD: 3D:F6:A9:65:19:AF:7C:82:DC:99:8C:BC:AB:41:3A:11:97:9D:36:97: ED:2D:DC:C0:37:3F:8F:7B:84:08:81:B4:96:0E:88:D5:58:BB:F8:D4: 06:B9:92:F6:80:88:A8:28:E5:A6:04:59:C6:CD:1B:B8:E0:52:17:80: 0D:93:D4:6D:70:98:67:1B:96:79:5B:46:3D:62:DD:98:DE:DF:5A:37: 6F:69:C4:9E:11:97:93:96:D4:4B:97:F4:FA:75:08:EB:F0:43:9E:44: 9A:CE:C4:35:D3:91:74:B0:95:F9:81:BA:AD:FC:BF:70:7E:87:5F:D4: F8:20:56:89:BD:BE:0B:B0:C3:71:A5:31:AD:0E:B2:58:27:A3:42:6D: 93:04:DC:D9:FA:91:AE:C3:05:2C:64:E1:47:1F:C0:2E:24:9E:E3:3C: 76:1B:A0:D4:F4:1E:30:E8:0E:0A:B6:BB:79:E0:4B:88:20:27:DA:06: 84:DB:AF:21:A1:9D:F3:07:DD:BF:99:4A:DC:8D:06:BD:6C:37:C9:05: D8:1A:52:53:31:E5:AC:92:1E:D9:1C:1A:60:2F:8E:55:8A:1F:A2:A2: A4:3B:46:B5:26:A7:E6:8C:BE:FC:E5:4F parm: debug:Activate debugging output (int) satadru@mbp113 ~$ sudo dmesg | grep bcm5974 [ 6.167200] input: bcm5974 as /devices/pci0000:00/0000:00:14.0/usb1/1-12/1-12:1.2/input/input9 [ 6.182558] usbcore: registered new interface driver bcm5974 satadru@mbp113 ~$
sudo libinput list-devices also shows the correct information: Device: bcm5974 Kernel: /dev/input/event9 Group: 6 Seat: seat0, default Size: 107x75mm Capabilities: pointer gesture Tap-to-click: disabled Tap-and-drag: enabled Tap drag lock: disabled Left-handed: disabled Nat.scrolling: disabled Middle emulation: disabled Calibration: n/a Scroll methods: *two-finger edge Click methods: button-areas *clickfinger Disable-w-typing: enabled Accel profiles: flat *adaptive Rotation: n/a
(In reply to Satadru Pramanik from comment #19) > I'm not sure what changed, but it is working on the ubuntu mainline build of > 5.18-rc7. Maybe I just missed a change to fix this; or some change fixed this accidentally (which was odd, but well, we are dealing with computers here...). Guess the matter can be considered resolved then.
This is resolved with both 5.18-rc7 and the release version of 5.18.0 .
Building 5.18.1, this issue is rearing its ugly head again. Mathias Nyman could we get that patch added to the driver please?
Patch sent to linux-input mailinglist https://lore.kernel.org/linux-input/20220606113636.588955-1-mathias.nyman@linux.intel.com/T/#u
I believe this is not fixed yet. I have the same issue with 5.18.x on Gentoo, the difference is that the Realtek card reader is involved: [Thu Jun 16 13:24:58 2022] ------------[ cut here ]------------ [Thu Jun 16 13:24:58 2022] xhci_hcd 0000:03:00.4: rejecting DMA map of vmalloc memory [Thu Jun 16 13:24:58 2022] WARNING: CPU: 4 PID: 803 at include/linux/dma-mapping.h:326 usb_hcd_map_urb_for_dma+0x48d/0x4b0 [Thu Jun 16 13:24:58 2022] Modules linked in: rtsx_usb(+) sparse_keymap crct10dif_pclmul crc32_pclmul ghash_clmulni_intel ahci(+) snd_pcm libahci aesni_intel platform_profile hid_generic(+) crypto_simd usbkbd usbmouse input_leds snd_timer k10temp cryptd led_class usbhid pkcs8_key_parser snd ccp rfkill cec wmi_bmof soundcore i2c_amd_mp2_pci libata rapl serio_raw efi_pstore hwmon sp5100_tco i2c_hid_acpi wmi i2c_hid video [Thu Jun 16 13:24:58 2022] CPU: 4 PID: 803 Comm: systemd-udevd Not tainted 5.18.4-gentoo #2 [Thu Jun 16 13:24:58 2022] Hardware name: ASUSTeK COMPUTER INC. VivoBook_ASUSLaptop X509DA_M509DA/X509DA, BIOS X509DA.309 10/08/2021 [Thu Jun 16 13:24:58 2022] RIP: 0010:usb_hcd_map_urb_for_dma+0x48d/0x4b0 [Thu Jun 16 13:24:58 2022] Code: 50 c6 05 22 a6 ea 00 01 4d 85 f6 75 03 4d 8b 32 4c 89 d7 e8 a5 29 f4 ff 4c 89 f2 48 c7 c7 e8 9f b7 94 48 89 c6 e8 13 1b 21 00 <0f> 0b e9 52 ff ff ff 48 8b 05 25 26 cb 00 e9 d3 fc ff ff 48 8b 05 [Thu Jun 16 13:24:58 2022] RSP: 0018:ffffa6fd898a77c8 EFLAGS: 00010282 [Thu Jun 16 13:24:58 2022] RAX: 0000000000000000 RBX: 000000000000000c RCX: 0000000000000003 [Thu Jun 16 13:24:58 2022] RDX: 0000000000000000 RSI: ffffa6fd898a75c0 RDI: 0000000000000001 [Thu Jun 16 13:24:58 2022] RBP: ffffa6fd898a7800 R08: 0000000000000000 R09: ffffffff94e468c0 [Thu Jun 16 13:24:58 2022] R10: 0000000000000001 R11: 0000000000000001 R12: ffff9657cee1fe40 [Thu Jun 16 13:24:58 2022] R13: ffff9657c0aaa000 R14: ffff9657c0f1ed70 R15: 0000000000000001 [Thu Jun 16 13:24:58 2022] FS: 00007f70f0fff7c0(0000) GS:ffff965bccf00000(0000) knlGS:0000000000000000 [Thu Jun 16 13:24:58 2022] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [Thu Jun 16 13:24:58 2022] CR2: 00007f70f12fab0f CR3: 0000000109570000 CR4: 00000000003506e0 [Thu Jun 16 13:24:58 2022] Call Trace: [Thu Jun 16 13:24:58 2022] <TASK> [Thu Jun 16 13:24:58 2022] xhci_map_urb_for_dma+0x14c/0x2a0 [Thu Jun 16 13:24:58 2022] usb_hcd_submit_urb+0x9f/0xc70 [Thu Jun 16 13:24:58 2022] ? del_timer_sync+0x70/0xb0 [Thu Jun 16 13:24:58 2022] ? schedule_timeout+0x93/0x150 [Thu Jun 16 13:24:58 2022] ? __bpf_trace_tick_stop+0x20/0x20 [Thu Jun 16 13:24:58 2022] usb_submit_urb+0x256/0x6a0 [Thu Jun 16 13:24:58 2022] ? kfree+0xd2/0x2f0 [Thu Jun 16 13:24:58 2022] usb_start_wait_urb+0x71/0x180 [Thu Jun 16 13:24:58 2022] usb_bulk_msg+0xbf/0x180 [Thu Jun 16 13:24:58 2022] rtsx_usb_send_cmd+0x69/0xc0 [rtsx_usb] [Thu Jun 16 13:24:58 2022] rtsx_usb_probe+0x149/0x3c0 [rtsx_usb] [Thu Jun 16 13:24:58 2022] usb_probe_interface+0xef/0x2a0 [Thu Jun 16 13:24:58 2022] really_probe+0x1a4/0x380 [Thu Jun 16 13:24:58 2022] __driver_probe_device+0x10a/0x180 [Thu Jun 16 13:24:58 2022] driver_probe_device+0x23/0x90 [Thu Jun 16 13:24:58 2022] __driver_attach+0xb0/0x1b0 [Thu Jun 16 13:24:58 2022] ? __device_attach_driver+0xe0/0xe0 [Thu Jun 16 13:24:58 2022] bus_for_each_dev+0x83/0xd0 [Thu Jun 16 13:24:58 2022] driver_attach+0x22/0x30 [Thu Jun 16 13:24:58 2022] bus_add_driver+0x166/0x200 [Thu Jun 16 13:24:58 2022] driver_register+0x99/0xf0 [Thu Jun 16 13:24:58 2022] usb_register_driver+0x8d/0x130 [Thu Jun 16 13:24:58 2022] ? 0xffffffffc0113000 [Thu Jun 16 13:24:58 2022] rtsx_usb_driver_init+0x27/0x1000 [rtsx_usb] [Thu Jun 16 13:24:58 2022] do_one_initcall+0x4d/0x200 [Thu Jun 16 13:24:58 2022] ? kmem_cache_alloc_trace+0x187/0x2e0 [Thu Jun 16 13:24:58 2022] do_init_module+0x52/0x260 [Thu Jun 16 13:24:58 2022] load_module+0x235e/0x2550 [Thu Jun 16 13:24:58 2022] ? 0xffffffffc0113000 [Thu Jun 16 13:24:58 2022] __do_sys_finit_module+0xcb/0x140 [Thu Jun 16 13:24:58 2022] ? __do_sys_finit_module+0xcb/0x140 [Thu Jun 16 13:24:58 2022] __x64_sys_finit_module+0x1c/0x20 [Thu Jun 16 13:24:58 2022] do_syscall_64+0x3a/0x90 [Thu Jun 16 13:24:58 2022] entry_SYSCALL_64_after_hwframe+0x44/0xae [Thu Jun 16 13:24:58 2022] RIP: 0033:0x7f70f114cdb9 [Thu Jun 16 13:24:58 2022] Code: 08 44 89 e0 5b 41 5c c3 66 0f 1f 84 00 00 00 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 37 e0 0e 00 f7 d8 64 89 01 48 [Thu Jun 16 13:24:58 2022] RSP: 002b:00007ffe0e4f8c38 EFLAGS: 00000202 ORIG_RAX: 0000000000000139 [Thu Jun 16 13:24:58 2022] RAX: ffffffffffffffda RBX: 00005594ea8e0eb0 RCX: 00007f70f114cdb9 [Thu Jun 16 13:24:58 2022] RDX: 0000000000000000 RSI: 00007f70f12c6b7d RDI: 0000000000000005 [Thu Jun 16 13:24:58 2022] RBP: 0000000000020000 R08: 0000000000000000 R09: 00005594ea859320 [Thu Jun 16 13:24:58 2022] R10: 0000000000000005 R11: 0000000000000202 R12: 00007f70f12c6b7d [Thu Jun 16 13:24:58 2022] R13: 0000000000000000 R14: 00005594ea83bf80 R15: 00005594ea8e0eb0 [Thu Jun 16 13:24:58 2022] </TASK> [Thu Jun 16 13:24:58 2022] ---[ end trace 0000000000000000 ]--- [Thu Jun 16 13:24:58 2022] rtsx_usb: probe of 3-1:1.0 failed with error -11 [Thu Jun 16 13:24:58 2022] usbcore: registered new interface driver rtsx_usb
(In reply to Dimitar Kosev from comment #25) > I believe this is not fixed yet. I have the same issue with 5.18.x on > Gentoo, the difference is that the Realtek card reader is involved: Not my area of expertise, but I guess the driver for the realtek card reader likely has the same underlying issue like the input driver this bug was about. Unless Mathias speaks up here to provide further info (or maybe even comes around with a fix) I suggest you report it separately (please drop a link to the report afterwards here).
(In reply to The Linux kernel's regression tracker (Thorsten Leemhuis) from comment #26) > (In reply to Dimitar Kosev from comment #25) > > I believe this is not fixed yet. I have the same issue with 5.18.x on > > Gentoo, the difference is that the Realtek card reader is involved: > > Not my area of expertise, but I guess the driver for the realtek card reader > likely has the same underlying issue like the input driver this bug was > about. Unless Mathias speaks up here to provide further info (or maybe even > comes around with a fix) I suggest you report it separately (please drop a > link to the report afterwards here). Thanks, new bug logged https://bugzilla.kernel.org/show_bug.cgi?id=216140