Wind River Support Network

HomeDefectsLIN6-3813
Fixed

LIN6-3813 : Seeing "BUG: sleeping function called from invalid context" error messages at boot for WRL5.0.1.7 preempt_rt kernel on RDB2041

Created: Sep 23, 2013    Updated: Mar 5, 2016
Resolved Date: Dec 11, 2013
Previous ID: LIN5-7201, LIN6-3028
Found In Version: 6.0
Fix Version: 6.0
Severity: Severe
Applicable for: Wind River Linux 6
Component/s: BSP
Architecture: QorIQ

Description

When booting a Freescale RDB2041 board with the WRL5.0.1.7 fsl-e500mc BSP (--enable-kernel=preempt_rt), seeing the following error(s) at bootup:

BUG: sleeping function called from invalid context at /home/user/WindRiver/workspace/fsl_p2041_rdb_lpp_prj/bitbake_build/tmp/work/fsl_e500mc-wrs-linux/linux-windriver-3.4-r0/linux/kernel/rtmutex.c:658
in_atomic(): 0, irqs_disabled(): 1, pid: 46, name: irq/122-QMan po
Call Trace:
[ef6c1b00] [c00088b4] show_stack+0x10c/0x1c0 (unreliable)
[ef6c1b50] [c072c600] dump_stack+0x24/0x34
[ef6c1b60] [c00722d4] __might_sleep+0xd8/0x108
[ef6c1b70] [c0724150] rt_spin_lock+0x34/0x7c
[ef6c1b80] [c0106d04] get_page_from_freelist+0x190/0x6dc
[ef6c1c20] [c0107bdc] __alloc_pages_nodemask+0x1a0/0x814
[ef6c1cc0] [c0611708] netdev_alloc_frag+0xf0/0x13c
[ef6c1cf0] [c0611d5c] __netdev_alloc_skb+0x88/0x148
[ef6c1d10] [c050af18] dpa_bp_add_8+0x68/0x20c
[ef6c1da0] [c050b104] dpaa_eth_refill_bpools+0x48/0x64
[ef6c1dc0] [c050d930] ingress_rx_default_dqrr+0x7c/0x190
[ef6c1df0] [c05e3090] qman_poll_dqrr+0x168/0x1e4
[ef6c1e20] [c050bd28] dpaa_eth_poll+0x2c/0x6c
[ef6c1e40] [c061dc00] net_rx_action+0x158/0x324
[ef6c1e90] [c00420ec] __do_softirq_common+0x128/0x2b4
[ef6c1ef0] [c0043228] __do_softirq+0x20/0x30
[ef6c1f00] [c0043390] local_bh_enable+0x158/0x170
[ef6c1f20] [c00bb290] irq_forced_thread_fn+0x5c/0x94
[ef6c1f40] [c00baedc] irq_thread+0x11c/0x208
[ef6c1fa0] [c00624c0] kthread+0x90/0x94
[ef6c1ff0] [c000f010] original_kernel_thread+0x4c/0x68

See attached rdb2041-boot.txt for complete boot log.

Workaround

None.

Steps to Reproduce

Create a WRL5.0.1.7 platform project for the fsl-e500mc BSP and select --enable-kernel=preempt_rt.  Boot the board and observe errors messages at bootup.
Live chat
Online