Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Caroline] Instability and dmesg spam from AVS driver on Samsung Chromebook Pro (Caroline) running Fedora 39 #110

Open
bitrot-alpha opened this issue Mar 12, 2024 · 6 comments

Comments

@bitrot-alpha
Copy link

Describe the bug
Fedora 39 randomly locks up, I checked dmesg and AVS is spamming it 10 or 20 times with the same errors. Other than that, AVS works fine, headphone jack works, speakers work, and the internal microphone seems to work (strange since AVS seems to be looking for another DMIC).

Boardname
Caroline

Logs
dmesg snippet:

[   31.717762] snd_soc_avs 0000:00:1f.3: no DMIC ep_blob found
[   31.717766] snd_soc_avs 0000:00:1f.3: module-type create failed: -2
[   31.717769] snd_soc_avs 0000:00:1f.3: error creating module -2
[   31.717827] snd_soc_avs 0000:00:1f.3: create path failed: -2
[   31.717830] snd_soc_avs 0000:00:1f.3: ASoC: error at snd_soc_dai_hw_params on DMIC Pin: -2
[   31.717837]  DMIC: ASoC: error at __soc_pcm_hw_params on DMIC: -2
[   31.717841]  Digital Microphone: ASoC: error at dpcm_fe_dai_hw_params on Digital Microphone: -2

I wasn't able to get the ChrUltrabook debugging script to work. I suspect it might be because Fedora has CONFIG_IO_STRICT_DEVMEM enabled and something else on top of that that iomem=relaxed doesn't disable.

I already tried updating to the latest Mr. ChromeBox coreboot.

@WeirdTreeThing
Copy link
Owner

The dmesg spam is normal and it should stop once the audio server fully loads. Not sure about the random lock ups though. Did it only start after running the audio script?

@bitrot-alpha
Copy link
Author

I ran the audio script right after installing, so I guess I'll have to uninstall/disable to test if AVS is causing the instability.

@WeirdTreeThing
Copy link
Owner

You can delete the modprobe config (in /etc/modprobe.d/) to disable AVS.

@bitrot-alpha
Copy link
Author

That does indeed disable AVS. When I re-enabled it, I got a stack trace in dmesg.

Here it is:

[   24.492051] ------------[ cut here ]------------
[   24.492056] memcpy: detected field-spanning write (size 2984) of single field "&cfg->gtw_cfg.config" at sound/soc/intel/avs/path.c:257 (size 4)
[   24.492089] WARNING: CPU: 1 PID: 1602 at sound/soc/intel/avs/path.c:257 avs_copier_create+0x396/0x3d0 [snd_soc_avs]
[   24.492125] Modules linked in: snd_seq_dummy snd_hrtimer 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 nfnetlink qrtr bnep snd_sof_pci_intel_skl snd_sof_intel_hda_common soundwire_intel snd_sof_intel_hda_mlink soundwire_cadence snd_sof_intel_hda cros_ec_light_prox snd_sof_pci cros_ec_sensors snd_sof_xtensa_dsp cros_ec_sensors_core industrialio_triggered_buffer snd_sof kfifo_buf industrialio snd_soc_dmic snd_sof_utils snd_soc_avs_probe snd_soc_avs_ssm4567 snd_soc_avs_hdaudio soundwire_generic_allocation snd_soc_avs_nau8825 snd_soc_avs_dmic soundwire_bus snd_hda_codec_hdmi snd_soc_avs cros_usbpd_charger cros_ec_sysfs iwlmvm cros_ec_sensorhub cros_ec_chardev cros_usbpd_logger spi_nor mtd intel_tcc_cooling snd_soc_hda_codec iTCO_wdt intel_pmc_bxt iTCO_vendor_support snd_soc_skl intel_rapl_msr mac80211 x86_pkg_temp_thermal
[   24.492208]  intel_powerclamp snd_soc_hdac_hda snd_hda_ext_core snd_soc_sst_ipc coretemp snd_soc_sst_dsp btusb kvm_intel btrtl libarc4 snd_soc_acpi_intel_match uvcvideo sunrpc btintel snd_soc_acpi uvc btbcm snd_hda_intel videobuf2_vmalloc kvm btmtk iwlwifi videobuf2_memops cros_ec_dev bluetooth snd_intel_dspcfg videobuf2_v4l2 videobuf2_common chromeos_laptop snd_intel_sdw_acpi videodev irqbypass rapl snd_soc_nau8825 processor_thermal_device_pci_legacy snd_soc_ssm4567 snd_hda_codec intel_cstate processor_thermal_device snd_soc_core mc intel_uncore i2c_i801 processor_thermal_wt_hint pcspkr snd_compress processor_thermal_rfim binfmt_misc cfg80211 spi_intel_pci i2c_smbus ac97_bus processor_thermal_rapl intel_rapl_common snd_hda_core snd_hwdep spi_intel snd_pcm_dmaengine snd_seq processor_thermal_wt_req processor_thermal_power_floor rfkill snd_seq_device processor_thermal_mbox snd_pcm idma64 vfat intel_xhci_usb_role_switch fat intel_soc_dts_iosf intel_pch_thermal snd_timer snd int3403_thermal soundcore int340x_thermal_zone
[   24.492302]  atmel_mxt_ts intel_vbtn sparse_keymap int3400_thermal acpi_thermal_rel soc_button_array cros_usbpd_notify joydev cros_ec_lpcs cros_ec loop zram mmc_block i915 crct10dif_pclmul i2c_algo_bit crc32_pclmul crc32c_intel drm_buddy polyval_clmulni polyval_generic ttm sdhci_pci drm_display_helper ghash_clmulni_intel cqhci sdhci sha512_ssse3 sha256_ssse3 sha1_ssse3 mmc_core i2c_hid_acpi cec i2c_hid gpio_keys cros_ec_keyb matrix_keymap video pinctrl_sunrisepoint wmi serio_raw ip6_tables ip_tables fuse
[   24.492359] CPU: 1 PID: 1602 Comm: wireplumber Not tainted 6.7.7-200.fc39.x86_64 #1
[   24.492364] Hardware name: Google Caroline/Caroline, BIOS MrChromebox-4.22.2-5-g822782a1001 02/13/2024
[   24.492367] RIP: 0010:avs_copier_create+0x396/0x3d0 [snd_soc_avs]
[   24.492397] Code: 04 00 00 00 4c 89 c6 4c 89 04 24 48 c7 c2 d0 6d 68 c1 48 c7 c7 10 6e 68 c1 4c 89 4c 24 08 c6 05 51 cc 00 00 01 e8 ea d6 aa de <0f> 0b 4c 8b 4c 24 08 4c 8b 04 24 e9 91 fd ff ff 48 8b 4b 10 e9 0d
[   24.492401] RSP: 0018:ffffae8401c175e8 EFLAGS: 00010286
[   24.492405] RAX: 0000000000000000 RBX: ffff8dcbc4c82b28 RCX: 0000000000000027
[   24.492409] RDX: ffff8dcc3aca15c8 RSI: 0000000000000001 RDI: ffff8dcc3aca15c0
[   24.492411] RBP: ffff8dcbc13c3700 R08: 0000000000000000 R09: ffffae8401c17470
[   24.492414] R10: 0000000000000003 R11: ffffffffa2546828 R12: ffff8dcbc50aa828
[   24.492417] R13: ffff8dcbcc6ce078 R14: ffffae840001c06c R15: 0000000000000bf8
[   24.492420] FS:  00007fe74b663800(0000) GS:ffff8dcc3ac80000(0000) knlGS:0000000000000000
[   24.492423] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   24.492426] CR2: 00007f13ff7296f8 CR3: 0000000101688003 CR4: 00000000003706f0
[   24.492430] Call Trace:
[   24.492433]  <TASK>
[   24.492436]  ? avs_copier_create+0x396/0x3d0 [snd_soc_avs]
[   24.492465]  ? __warn+0x81/0x130
[   24.492474]  ? avs_copier_create+0x396/0x3d0 [snd_soc_avs]
[   24.492504]  ? report_bug+0x171/0x1a0
[   24.492512]  ? prb_read_valid+0x1b/0x30
[   24.492520]  ? handle_bug+0x3c/0x80
[   24.492526]  ? exc_invalid_op+0x17/0x70
[   24.492531]  ? asm_exc_invalid_op+0x1a/0x20
[   24.492539]  ? avs_copier_create+0x396/0x3d0 [snd_soc_avs]
[   24.492566]  ? avs_copier_create+0x396/0x3d0 [snd_soc_avs]
[   24.492593]  avs_path_create+0x2fa/0xb70 [snd_soc_avs]
[   24.492625]  avs_dai_hw_params+0x5e/0x240 [snd_soc_avs]
[   24.492652]  snd_soc_dai_hw_params+0x39/0xa0 [snd_soc_core]
[   24.492718]  __soc_pcm_hw_params+0x507/0x6e0 [snd_soc_core]
[   24.492795]  dpcm_be_dai_hw_params+0x21a/0x3f0 [snd_soc_core]
[   24.492873]  dpcm_fe_dai_hw_params+0xd4/0x220 [snd_soc_core]
[   24.492956]  snd_pcm_hw_params+0x1ff/0x4f0 [snd_pcm]
[   24.492986]  snd_pcm_common_ioctl+0xbbe/0x12a0 [snd_pcm]
[   24.493013]  ? ioctl_has_perm.constprop.0.isra.0+0xda/0x130
[   24.493023]  snd_pcm_ioctl+0x2e/0x50 [snd_pcm]
[   24.493050]  __x64_sys_ioctl+0x94/0xd0
[   24.493057]  do_syscall_64+0x61/0xe0
[   24.493064]  ? snd_pcm_ioctl+0x2e/0x50 [snd_pcm]
[   24.493088]  ? __x64_sys_ioctl+0xaf/0xd0
[   24.493094]  ? syscall_exit_to_user_mode+0x2b/0x40
[   24.493101]  ? do_syscall_64+0x70/0xe0
[   24.493106]  ? snd_pcm_ioctl+0x2e/0x50 [snd_pcm]
[   24.493130]  ? __x64_sys_ioctl+0xaf/0xd0
[   24.493137]  ? syscall_exit_to_user_mode+0x2b/0x40
[   24.493142]  ? do_syscall_64+0x70/0xe0
[   24.493146]  ? syscall_exit_to_user_mode+0x2b/0x40
[   24.493151]  ? do_syscall_64+0x70/0xe0
[   24.493155]  ? exc_page_fault+0x7f/0x180
[   24.493160]  entry_SYSCALL_64_after_hwframe+0x6e/0x76
[   24.493166] RIP: 0033:0x7fe74bad919d
[   24.493205] Code: 04 25 28 00 00 00 48 89 45 c8 31 c0 48 8d 45 10 c7 45 b0 10 00 00 00 48 89 45 b8 48 8d 45 d0 48 89 45 c0 b8 10 00 00 00 0f 05 <89> c2 3d 00 f0 ff ff 77 1a 48 8b 45 c8 64 48 2b 04 25 28 00 00 00
[   24.493209] RSP: 002b:00007ffe55e04be0 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[   24.493215] RAX: ffffffffffffffda RBX: 00007ffe55e04d50 RCX: 00007fe74bad919d
[   24.493218] RDX: 00007ffe55e04d50 RSI: 00000000c2604111 RDI: 0000000000000026
[   24.493222] RBP: 00007ffe55e04c30 R08: 0000000000000000 R09: 0000000000000000
[   24.493225] R10: 0000000000000004 R11: 0000000000000246 R12: 0000560f7b34a5d0
[   24.493228] R13: 0000560f7b34f200 R14: 00007ffe55e05370 R15: 00007ffe55e04d50
[   24.493235]  </TASK>
[   24.493237] ---[ end trace 0000000000000000 ]---

I'm not sure if this is related to my as of yet undetermined stability with my Caroline machine, but I figured it was worth investigating since I feel it isn't normal to get a stack trace in dmesg..

@bitrot-alpha
Copy link
Author

Maybe I should report this to the AVS repo? I'm guessing this may not be a problem with your scripts..

@WeirdTreeThing
Copy link
Owner

Someone from intel said the stack trace from AVS is normal, for some reason.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants