Bug 64221

Summary: Warning at kernel/mutex.c:514 __mutex_lock_slowpath+0x27f/0x340
Product: Drivers Reporter: blondie85
Component: Video(DRI - Intel)Assignee: Alan (alan)
Status: RESOLVED CODE_FIX    
Severity: normal CC: alan, intel-gfx-bugs, patrik.r.jakobsson, peter
Priority: P1    
Hardware: i386   
OS: Linux   
Kernel Version: 3.11.6-1-ARCH Subsystem:
Regression: No Bisected commit-id:
Attachments: lspci -vv

Description blondie85 2013-11-02 10:03:42 UTC
Created attachment 113111 [details]
lspci -vv

I see this warning in dmesg (and the system works fine after boot)

[   23.315096] ------------[ cut here ]------------
[   23.315611] WARNING: CPU: 0 PID: 193 at kernel/mutex.c:514 __mutex_lock_slowpath+0x27f/0x340()
[   23.316498] DEBUG_LOCKS_WARN_ON(in_interrupt())
[   23.316682] Modules linked in:
[   23.316682]  battery button(+) processor(+) snd_timer snd soundcore evdev shpchp lpc_sch ext4 crc16 mbcache jbd2 xts gf128mul dm_crypt dm_mod ums_realtek usb_storage sd_mod ata_generic pata_acpi pata_sch libata scsi_mod uhci_hcd ehci_pci ehci_hcd usbcore usb_common gma500_gfx video i2c_algo_bit drm_kms_helper drm agpgart i2c_core
[   23.316682] CPU: 0 PID: 193 Comm: systemd-udevd Not tainted 3.11.6-1-ARCH #1
[   23.316682] Hardware name: Dell Inc. Inspiron 1210   /0X605H, BIOS A04 05/03/2009
[   23.316682]  00000000 00000000 f5761e04 c141c16f f5761e44 f5761e34 c10455de c1504ad8
[   23.316682]  f5761e60 000000c1 c1504af0 00000202 c141f99f c141f99f f50ab418 f50ab418
[   23.316682]  80808081 f5761e4c c1045633 00000009 f5761e44 c1504ad8 f5761e60 f5761e90
[   23.316682] Call Trace:
[   23.316682]  [<c141c16f>] dump_stack+0x4b/0x79
[   23.316682]  [<c10455de>] warn_slowpath_common+0x7e/0xa0
[   23.316682]  [<c141f99f>] ? __mutex_lock_slowpath+0x27f/0x340
[   23.316682]  [<c141f99f>] ? __mutex_lock_slowpath+0x27f/0x340
[   23.316682]  [<c1045633>] warn_slowpath_fmt+0x33/0x40
[   23.316682]  [<c141f99f>] __mutex_lock_slowpath+0x27f/0x340
[   23.316682]  [<c141fa70>] mutex_lock+0x10/0x20
[   23.316682]  [<f84434d0>] do_gma_backlight_set+0x20/0x40 [gma500_gfx]
[   23.316682]  [<f844357f>] gma_backlight_set+0x2f/0x40 [gma500_gfx]
[   23.316682]  [<f845261e>] psb_intel_opregion_asle_intr+0xae/0x100 [gma500_gfx]
[   23.316682]  [<f8450b87>] psb_irq_handler+0x1a7/0x1b0 [gma500_gfx]
[   23.316682]  [<c10bf925>] handle_irq_event_percpu+0x45/0x1f0
[   23.316682]  [<c10bfb01>] handle_irq_event+0x31/0x50
[   23.316682]  [<c10c23ae>] handle_fasteoi_irq+0x4e/0xe0
[   23.316682]  [<c1004c57>] handle_irq+0x77/0x90
[   23.316682]  [<c142908c>] do_IRQ+0x3c/0xb0
[   23.316682]  [<c1428f33>] common_interrupt+0x33/0x38
[   23.316682] ---[ end trace 713046fbe61b8257 ]---
Comment 1 Alan 2013-11-12 15:52:02 UTC
Locking bug in the GMA500 handling of the backlight events.

I'll take a look at it when I get some time.
Comment 2 Jani Nikula 2013-11-13 08:42:04 UTC
CC Patrik.
Comment 3 Patrik Jakobsson 2013-11-13 17:12:30 UTC
Thanks for CC

Alan, let me know if you've fixed this. Otherwise I'll have some free time during the weekend for gma500 stuff.
Comment 4 blondie85 2013-11-28 11:34:05 UTC
also this backlight bug cause the reset of kernel variable 'printk' which is undesirable:

1. sysctl kernel.printk
kernel.printk = 3      3       3       3

2. /usr/lib/systemd/systemd-backlight load acpi_video1

3. sysctl kernel.printk
kernel.printk = 15      3       3       3
Comment 5 Peter Wu 2014-02-12 21:53:59 UTC
The warning is still present in 3.14 (first noticed with 3.13):

[    9.528838] ------------[ cut here ]------------
[    9.529145] WARNING: CPU: 1 PID: 0 at kernel/locking/mutex.c:516 __mutex_lock_slowpath+0x357/0x370()
[    9.529764] DEBUG_LOCKS_WARN_ON(in_interrupt())
[    9.529999] Modules linked in:
[    9.530197]  [..]
[    9.533605] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.14.0-rc2-custom-00267-g9398a10 #4
[    9.533992] Hardware name: Shuttle Inc. XS36V/XS36V, BIOS 1.11 12/18/2012
[    9.534313]  0000000000000009 ffff88012fc83d10 ffffffff8146cca0 ffff88012fc83d58
[    9.534709]  ffff88012fc83d48 ffffffff8104c45d ffff880129218c18 ffff880129218c18
[    9.535102]  ffff880129ac6bf0 0000000080808081 ffff880037aba12c ffff88012fc83da8
[    9.535496] Call Trace:
[    9.535616]  <IRQ>  [<ffffffff8146cca0>] dump_stack+0x4d/0x6f
[    9.535923]  [<ffffffff8104c45d>] warn_slowpath_common+0x7d/0xa0
[    9.536210]  [<ffffffff8104c4cc>] warn_slowpath_fmt+0x4c/0x50
[    9.536487]  [<ffffffff812303f5>] ? blk_run_queue+0x35/0x40
[    9.536755]  [<ffffffff814710e7>] __mutex_lock_slowpath+0x357/0x370
[    9.537055]  [<ffffffff81471112>] mutex_lock+0x12/0x22
[    9.537310]  [<ffffffffa0607536>] do_gma_backlight_set+0x26/0x50 [gma500_gfx]
[    9.537654]  [<ffffffffa060761b>] gma_backlight_set+0x3b/0x40 [gma500_gfx]
[    9.537987]  [<ffffffffa0617d94>] psb_intel_opregion_asle_intr+0xb4/0x100 [gma500_gfx]
[    9.538369]  [<ffffffffa0615f98>] psb_irq_handler+0x1e8/0x1f0 [gma500_gfx]
[    9.538699]  [<ffffffff8109ff4e>] handle_irq_event_percpu+0x3e/0x210
[    9.539002]  [<ffffffff810a015d>] handle_irq_event+0x3d/0x60
[    9.539274]  [<ffffffff810a2b47>] handle_edge_irq+0x77/0x140
[    9.539545]  [<ffffffff81004b7e>] handle_irq+0x1e/0x30
[    9.539792]  [<ffffffff8147c0cf>] do_IRQ+0x4f/0xf0
[    9.540024]  [<ffffffff81472a6a>] common_interrupt+0x6a/0x6a
[    9.540292]  <EOI>  [<ffffffff814722e5>] ? _raw_spin_unlock_irq+0x15/0x30
[    9.540642]  [<ffffffff810794aa>] finish_task_switch+0x4a/0xc0
[    9.540922]  [<ffffffff8146e260>] __schedule+0x340/0x8d0
[    9.541178]  [<ffffffff8102f7fd>] ? lapic_next_event+0x1d/0x30
[    9.541459]  [<ffffffff810b333b>] ? clockevents_program_event+0x6b/0xf0
[    9.541776]  [<ffffffff81071704>] ? __hrtimer_start_range_ns+0x1e4/0x3c0
[    9.542096]  [<ffffffff8146e819>] schedule+0x29/0x70
[    9.542334]  [<ffffffff8146ec16>] schedule_preempt_disabled+0x16/0x20
[    9.542642]  [<ffffffff8109f523>] cpu_startup_entry+0x113/0x270
[    9.542926]  [<ffffffff8102e2be>] start_secondary+0x1ce/0x270
[    9.543199] ---[ end trace b803e0b43866ca06 ]---
Comment 6 Patrik Jakobsson 2014-03-17 23:26:43 UTC
I've pushed a fix for this problem to my gma500-next branch at https://github.com/patjak/drm-gma500

It will go into 3.15-rc1. Please test if you can.
Comment 7 blondie85 2014-04-16 07:46:30 UTC
this warning is not present in dmesg output when using kernel 3.15-rc1
Comment 8 Peter Wu 2014-04-16 19:51:06 UTC
Tested with v3.15-rc1-49-g10ec34f, the warning is no longer present. Blondie, can you mark this bug as resolved?