system76-acpi: system76_set schedules while atomic

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



system76_set() is apparently called while atomic, and
acpi_evaluate_object() eventually schedule()s. This happens several
times at startup, and I can reliably trigger it with the Airplane Mode
key on my Lemur Pro (lemp9). I opened a System76 ticket for a
possibly-related lockup (#47303 in their system), but this looks like
a standalone driver bug at least. This log is from the vanilla Arch
Linux kernel 5.7.2-arch1. I get the same bug in 5.7.4 as well.

Trace:
Jun 18 09:08:23 disorder kernel: BUG: scheduling while atomic:
kworker/7:1/234/0x00000002
Jun 18 09:08:23 disorder kernel: Modules linked in: btusb(+) btrtl
mousedev btbcm snd_compress btintel ghash_clmulni_intel(+) mac80211
acpi_cpufreq(-) pcc_cpufreq(-) ac97_bus bluetooth snd_pcm_dmaengine
uvcvideo snd_hda_intel snd_intel_dspcfg i2c_algo_bit iTCO_wdt snd_hda>
Jun 18 09:08:23 disorder kernel: intel_hid system76_acpi battery
sparse_keymap ac coreboot_table drm agpgart ip_tables x_tables f2fs
serio_raw atkbd libps2 rtsx_pci_sdmmc xhci_pci mmc_core xhci_hcd
crc32_pclmul rtsx_pci i8042 serio
Jun 18 09:08:23 disorder kernel: Preemption disabled at:
Jun 18 09:08:23 disorder kernel: [] 0x0
Jun 18 09:08:23 disorder kernel: CPU: 7 PID: 234 Comm: kworker/7:1 Not
tainted 5.7.2-arch1-1 #1
Jun 18 09:08:23 disorder kernel: Hardware name: System76 Lemur
Pro/Lemur Pro, BIOS 2020-05-15_e2baafa 05/15/2020
Jun 18 09:08:23 disorder kernel: Workqueue: events
rfkill_global_led_trigger_worker [rfkill]
Jun 18 09:08:23 disorder kernel: Call Trace:
Jun 18 09:08:23 disorder kernel: dump_stack+0x64/0x88
Jun 18 09:08:23 disorder kernel: __schedule_bug.cold+0x8e/0x9b
Jun 18 09:08:23 disorder kernel: __schedule+0x6a6/0x8c0
Jun 18 09:08:23 disorder kernel: schedule+0x46/0xf0
Jun 18 09:08:23 disorder kernel: schedule_timeout+0x99/0x170
Jun 18 09:08:23 disorder kernel: ? __next_timer_interrupt+0xd0/0xd0
Jun 18 09:08:23 disorder kernel: ec_guard+0x209/0x240
Jun 18 09:08:23 disorder kernel: ? wait_woken+0x80/0x80
Jun 18 09:08:23 disorder kernel: acpi_ec_transaction+0x195/0x440
Jun 18 09:08:23 disorder kernel: acpi_ec_space_handler+0x137/0x280
Jun 18 09:08:23 disorder kernel: ? _raw_spin_unlock_irqrestore+0x20/0x40
Jun 18 09:08:23 disorder kernel: ? acpi_ec_resume+0x20/0x20
Jun 18 09:08:23 disorder kernel: acpi_ev_address_space_dispatch+0x2f2/0x39a
Jun 18 09:08:23 disorder kernel: acpi_ex_access_region+0x44a/0x4e5
Jun 18 09:08:23 disorder kernel: ? acpi_ns_get_type+0x8c/0x91
Jun 18 09:08:23 disorder kernel: acpi_ex_field_datum_io+0x190/0x434
Jun 18 09:08:23 disorder kernel: acpi_ex_extract_from_field+0xea/0x32a
Jun 18 09:08:23 disorder kernel: ? _raw_spin_unlock_irqrestore+0x20/0x40
Jun 18 09:08:23 disorder kernel: acpi_ex_read_data_from_field+0x305/0x351
Jun 18 09:08:23 disorder kernel: acpi_ex_resolve_node_to_value+0x39c/0x4cf
Jun 18 09:08:23 disorder kernel: acpi_ex_resolve_to_value+0x3ba/0x468
Jun 18 09:08:23 disorder kernel: acpi_ds_evaluate_name_path+0xb5/0x16e
Jun 18 09:08:23 disorder kernel: ? acpi_ut_trace_ptr+0x25/0x66
Jun 18 09:08:23 disorder kernel: acpi_ds_exec_end_op+0xcc/0x6ff
Jun 18 09:08:23 disorder kernel: acpi_ps_parse_loop+0x7f4/0x8c5
Jun 18 09:08:23 disorder kernel: acpi_ps_parse_aml+0x1aa/0x545
Jun 18 09:08:23 disorder kernel: acpi_ps_execute_method+0x203/0x2bf
Jun 18 09:08:23 disorder kernel: acpi_ns_evaluate+0x34a/0x4e7
Jun 18 09:08:23 disorder kernel: acpi_evaluate_object+0x184/0x3ac
Jun 18 09:08:23 disorder kernel: ? rescuer_thread+0x3f0/0x3f0
Jun 18 09:08:23 disorder kernel: ap_led_set+0x6f/0x90 [system76_acpi]
Jun 18 09:08:23 disorder kernel: led_trigger_event+0x41/0x70
Jun 18 09:08:23 disorder kernel: process_one_work+0x1da/0x3d0
Jun 18 09:08:23 disorder kernel: ? rescuer_thread+0x3f0/0x3f0
Jun 18 09:08:23 disorder kernel: worker_thread+0x4d/0x3e0
Jun 18 09:08:23 disorder kernel: ? rescuer_thread+0x3f0/0x3f0
Jun 18 09:08:23 disorder kernel: kthread+0x13e/0x160
Jun 18 09:08:23 disorder kernel: ? __kthread_bind_mask+0x60/0x60
Jun 18 09:08:23 disorder kernel: ret_from_fork+0x1f/0x40



[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux