AsahiLinux / linux

Linux kernel source tree
Other
2.36k stars 90 forks source link

Frequent loss of bluetooth and occasional complete lock up after leaving the computer idle for a while #344

Open wvdschel opened 2 weeks ago

wvdschel commented 2 weeks ago

Running: Fedora Asahi Remix 40 (kernel 6.11.6-401.asahi.fc41.aarch64+16k)

Whenever I leave the computer for a while (getting a coffee, going to a meeting, etc) I frequently come back and find my bluetooth keyboard and mouse not working, as well as very poor WiFi connectivity.

If I don't reboot, this is often times followed by a complete lock up after a few minutes.

I don't have my laptop go to sleep when idle, so I doubt it's suspend & resume related, and have disabled DPMS for my displays (as I've found HMDI out to be rather flaky, at first I suspected the lockups might be related to display out). I have never experienced this behaviour while working at the computer (though I've only got this laptop since last Friday, so I can't say with certainty it only happens after being idle).

A couple of times I found a very similar error message in the kernel log:

[ 6945.669101] ieee80211 phy0: brcmf_set_key_mgmt: get okc_enable failed (-52)
[ 6945.673109] ieee80211 phy0: brcmf_c_set_joinpref_default: Set join_pref error (-52)
[ 7703.822292] Unable to handle kernel paging request at virtual address ffff8945d1a58008
[ 7703.822305] Mem abort info:
[ 7703.822307]   ESR = 0x0000000096000005
[ 7703.822310]   EC = 0x25: DABT (current EL), IL = 32 bits
[ 7703.822315]   SET = 0, FnV = 0
[ 7703.822317]   EA = 0, S1PTW = 0
[ 7703.822319]   FSC = 0x05: level 1 translation fault
[ 7703.822322] Data abort info:
[ 7703.822323]   ISV = 0, ISS = 0x00000005, ISS2 = 0x00000000
[ 7703.822326]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0
[ 7703.822329]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
[ 7703.822332] swapper pgtable: 16k pages, 48-bit VAs, pgdp=00000107c1790000
[ 7703.822337] [ffff8945d1a58008] pgd=10000107c33d8003, p4d=10000107c33d8003, pud=0000000000000000
[ 7703.822346] Internal error: Oops: 0000000096000005 [#1] SMP
[ 7703.822352] Modules linked in: overlay uas usb_storage tun onboard_usb_dev hid_logitech_hidpp uhid snd_seq_dummy rfcomm snd_hrtimer snd_seq snd_seq_device bnep sunrpc brcmfmac_wcc nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip_set nf_tables qrtr binfmt_misc brcmfmac brcmutil cfg80211 hci_bcm4377 bluetooth apple_isp ofpart snd_soc_macaudio videobuf2_dma_sg rfkill spi_nor snd_soc_apple_mca snd_soc_tas2764 snd_soc_cs42l84 videobuf2_memops videobuf2_v4l2 mtd videodev snd_soc_core snd_compress videobuf2_common ac97_bus mc macsmc_hid leds_pwm apple_soc_cpufreq joydev loop dm_multipath nfnetlink zram sdhci_pci cqhci sdhci hid_apple nvmem_spmi_mfd tps6598x dockchannel_hid macsmc_reboot rtc_macsmc gpio_macsmc simple_mfd_spmi macsmc_hwmon macsmc_power appledrm crct10dif_ce polyval_ce polyval_generic apple_dcp ghash_ce asahi dwc3 sha3_ce drm_dma_helper
[ 7703.822453]  sha512_ce ulpi snd_pcm_dmaengine sha512_arm64 i2c_pasemi_platform udc_core spi_apple apple_admac apple_sio pwm_apple i2c_pasemi_core snd_pcm macsmc_rtkit apple_dockchannel apple_rtkit_helper nvmem_apple_efuses apple_wdt macsmc pinctrl_apple_gpio spmi_apple_controller snd_timer phy_apple_atc snd clk_apple_nco typec mux_apple_display_crossbar apple_dart mux_core soundcore xhci_plat_hcd vfat fat nvme_apple apple_sart nvme_core nvme_auth scsi_dh_rdac scsi_dh_emc scsi_dh_alua ip6_tables ip_tables fuse i2c_dev
[ 7703.822507] CPU: 7 UID: 0 PID: 1201214 Comm: kworker/7:2 Tainted: G S                 6.11.6-401.asahi.fc41.aarch64+16k #1
[ 7703.822515] Tainted: [S]=CPU_OUT_OF_SPEC
[ 7703.822518] Hardware name: Apple MacBook Pro (16-inch, M2 Pro, 2023) (DT)
[ 7703.822521] Workqueue: events hidinput_led_worker
[ 7703.822534] pstate: 81400009 (Nzcv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--)
[ 7703.822540] pc : __srcu_read_lock+0x48/0x98
[ 7703.822551] lr : dispatch_hid_bpf_output_report+0x70/0x118
[ 7703.822562] sp : ffff8000a4757ca0
[ 7703.822564] x29: ffff8000a4757ca0 x28: 0000000000000000 x27: 0000000000000000
[ 7703.822570] x26: 0000000000000000 x25: 0000000000000000 x24: ffff36200a0d2405
[ 7703.822576] x23: ffff362059d03e40 x22: 0000000000000000 x21: ffff362059d03e10
[ 7703.822581] x20: ffff362059d02000 x19: 0000000000000001 x18: 0000000000000000
[ 7703.822585] x17: 2e373139303a4535 x16: 34303a353030302f x15: 646968752f637369
[ 7703.822590] x14: 0000000000000000 x13: 0000000000000030 x12: 0101010101010101
[ 7703.822595] x11: 7f7f7f7f7f7f7f7f x10: fefefefefefefeff x9 : fffface1f801bf48
[ 7703.822601] x8 : ffff3620156c1231 x7 : 0000000000001e10 x6 : 0000000000001e40
[ 7703.822606] x5 : ffff362455d1b600 x4 : 0000000000000000 x3 : 0000000000000000
[ 7703.822611] x2 : 0000000000000001 x1 : 0000000000000008 x0 : ffff8945d1a58008
[ 7703.822615] Call trace:
[ 7703.822618]  __srcu_read_lock+0x48/0x98
[ 7703.822626]  dispatch_hid_bpf_output_report+0x70/0x118
[ 7703.822636]  hid_hw_output_report+0x60/0xd0
[ 7703.822641]  hidinput_led_worker+0xb0/0x110
[ 7703.822646]  process_one_work+0x180/0x420
[ 7703.822656]  worker_thread+0x25c/0x380
[ 7703.822665]  kthread+0xf4/0x110
[ 7703.822673]  ret_from_fork+0x10/0x20
[ 7703.822681] Code: d53cd040 8b020021 d2800022 8b000020 (f822001f) 
[ 7703.822685] ---[ end trace 0000000000000000 ]---
[ 7703.822688] note: kworker/7:2[1201214] exited with preempt_count 1