Wind River Support Network

HomeDefectsLIN1018-3077
Fixed

LIN1018-3077 : glibc-std-sato: preempt-rt: i915 crashed with CONFIG_DEBUG_ATOMIC_SLEEP=y

Created: Dec 5, 2018    Updated: Jan 23, 2019
Resolved Date: Jan 10, 2019
Previous ID: LIN10-5108
Found In Version: unknown
Fix Version: 10.18.44.3
Severity: Standard
Applicable for: Wind River Linux LTS 18
Component/s: Kernel

Description

$ dmesg 
...
[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[drm] Driver supports precise vblank timestamp query.
i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
thermal LNXTHERM:00: registered as thermal_zone0
ACPI: Thermal Zone [TZ00] (28 C)
thermal LNXTHERM:01: registered as thermal_zone1
ACPI: Thermal Zone [TZ01] (30 C)
cfg80211: Loading compiled-in X.509 certificates for regulatory database
i801_smbus 0000:00:1f.3: SPD Write Disable is set
i801_smbus 0000:00:1f.3: SMBus using PCI interrupt
cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[drm] failed to retrieve link info, disabling eDP
platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:974
in_atomic(): 0, irqs_disabled(): 1, pid: 192, name: systemd-udevd
CPU: 2 PID: 192 Comm: systemd-udevd Not tainted 4.18.17-rt8-yocto-preempt-rt #1
Hardware name: ��������������������������������� ���������������������������������/NUC5i3MYBE, BIOS MYBDWi30.86A.0017.2014.1127.1854 11/27/201
Call Trace:
 dump_stack+0x4f/0x73
 ? migrate_enable+0x9e/0x3d0
 ___might_sleep.cold.19+0xca/0xdb
 rt_spin_lock+0x37/0x60
 i915_request_retire+0x226/0x4a0 [i915]
 i915_retire_requests+0xa2/0x110 [i915]
 i915_gem_switch_to_kernel_context+0x2c/0x150 [i915]
 ? __i915_request_add+0x27d/0x3f0 [i915]
 i915_gem_init+0x323/0x470 [i915]
 i915_driver_load+0xb3d/0xdf0 [i915]
 i915_pci_probe+0x2b/0x40 [i915]
 local_pci_probe+0x46/0x90
 pci_device_probe+0x119/0x1a0
 driver_probe_device+0x22f/0x300
 __driver_attach+0xbd/0xd0
 ? driver_probe_device+0x300/0x300
 bus_for_each_dev+0x7b/0xc0
 driver_attach+0x1e/0x20
 bus_add_driver+0x1a4/0x1e0
 driver_register+0x70/0xc0
 __pci_register_driver+0x7f/0x90
 ? 0xffffffffc02fb000
 i915_init+0x55/0x58 [i915]
 do_one_initcall+0x53/0x236
 ? __might_sleep+0x4a/0x80
 ? kmem_cache_alloc_trace+0x124/0x230
 ? do_init_module+0x27/0x210
 do_init_module+0x60/0x210
 load_module+0x20dc/0x25f0
 ? vfs_read+0x129/0x150
 ? vfs_read+0x129/0x150
 __se_sys_finit_module+0xc3/0xe0
 ? __se_sys_finit_module+0xc3/0xe0
 __x64_sys_finit_module+0x1a/0x20
 do_syscall_64+0x4d/0xf0
 entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x7ff026d71ba9
Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 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 a7 42 0c 00 f7 d8 64 89 01 48
RSP: 002b:00007ffeaf5ce458 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
RAX: ffffffffffffffda RBX: 00005645c801bfb0 RCX: 00007ff026d71ba9
RDX: 0000000000000000 RSI: 00007ff026f3a1e3 RDI: 000000000000000e
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
R10: 000000000000000e R11: 0000000000000246 R12: 00007ff026f3a1e3
R13: 0000000000020000 R14: 00007ffeaf5ce550 R15: 0000000000000000
snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC283: line_outs=1 (0x21/0x0/0x0/0x0/0x0) type:hp
snd_hda_codec_realtek hdaudioC1D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
snd_hda_codec_realtek hdaudioC1D0: hp_outs=0 (0x0/0x0/0x0/0x0/0x0)
snd_hda_codec_realtek hdaudioC1D0: mono: mono_out=0x0
snd_hda_codec_realtek hdaudioC1D0: inputs:
snd_hda_codec_realtek hdaudioC1D0: Mic=0x19
Intel(R) Wireless WiFi driver for Linux
Copyright(c) 2003- 2015 Intel Corporation 

Steps to Reproduce

#1
setup.sh --machines intel-x86-64 --distros=wrlinux-std-sato --dl-layers
. environment-setup-x86_64-wrlinuxsdk-linux
. oe-init-build-env

add to local.conf:
KTYPE_ENABLED ?= "preempt-rt"
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt"

add CONFIG_DEBUG_ATOMIC_SLEEP=y in kernel config

#2
boot target (tested on NUC7i5BNH):
$ dmesg
Live chat
Online