Wind River Support Network

HomeDefectsLIN10-4076
Fixed

LIN10-4076 : pm: freeze_wake, BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:995

Created: Jun 5, 2018    Updated: Dec 3, 2018
Resolved Date: Jun 24, 2018
Found In Version: 10.17.41.1
Fix Version: 10.17.41.9
Severity: Standard
Applicable for: Wind River Linux LTS 17
Component/s: Kernel

Description

The below call trace in kernel log occurd during network wakeup from sleep (S3) state, 
-------------
Apr 23 21:25:32 XRX9C934E6B722B kernel: [ 2953.246578] BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:995 
Apr 23 21:25:32 XRX9C934E6B722B kernel: [ 2953.246580] in_atomic(): 1, irqs_disabled(): 1, pid: 28931, name: kworker/u8:1 
Apr 23 21:25:32 XRX9C934E6B722B kernel: [ 2953.246591] Preemption disabled at:[<ffffffff81386b5a>] pci_bus_write_config_word.part.0+0x2a/0x70 
......
Apr 23 21:25:32 XRX9C934E6B722B kernel: [ 2953.246697] [<ffffffff81367cb7>] ? debug_smp_processor_id+0x17/0x20 
Apr 23 21:25:32 XRX9C934E6B722B kernel: [ 2953.246700] [<ffffffff8188604f>] ret_from_fork+0x1f/0x40 
Apr 23 21:25:32 XRX9C934E6B722B kernel: [ 2953.246703] [<ffffffff81079050>] ? kthread_worker_fn+0x1c0/0x1c0 
-----------------

This issue is intermittent and can be reproduced by waking up the Intel APL SoC from S3 state with network ping request.

I see similar bug in the following link:
https://patchwork.kernel.org/patch/7450321/
https://github.com/0day-ci/linux/commit/cee3c9d2e69841c6ade288bb4418b3da8ea866f3

But it seems the patche is not applicable, it depends on simple wait queue implementation, which is also not in mainline kernel:
https://patchwork.kernel.org/patch/2161261/

Please help look into this issue and let me know the if it's kernel defect.

Steps to Reproduce

Intel Oxbow Hill reference board can be used for reproducing this issue. Steps for reproducing this issue. 
1) Boot the Intel reference board with debug console connected to serial port. 
2) LAN connection also need to be setup 
3) login to Linux prompt 
4) Note down the board IP address 
5) Put in S3 state using the command, "echo "mem" > /sys/power/state" 
6) Ping the board IP from the test PC.
 
The steps are from customer, I didn't reproduced this since I didn't find Intel Oxbow Hill reference board in VLM.

Other Downloads


Live chat
Online