Bug 99991 - "Sleeping function from invalid context" error booting CherryView tablet
Summary: "Sleeping function from invalid context" error booting CherryView tablet
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-02-27 21:32 UTC by Bastien Nocera
Modified: 2017-03-14 14:21 UTC (History)
2 users (show)

See Also:
i915 platform: BSW/CHT
i915 features:


Attachments
surface-cherryview-errors.txt (88.02 KB, text/plain)
2017-02-27 21:32 UTC, Bastien Nocera
no flags Details

Description Bastien Nocera 2017-02-27 21:32:48 UTC
Created attachment 129967 [details]
surface-cherryview-errors.txt

4.11.0-0.rc0.git4.21.surface3.fc26.x86_64 on Surface 3


[   35.758739] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:745
[   35.758888] in_atomic(): 0, irqs_disabled(): 1, pid: 1038, name: gnome-shell
[   35.758911] 3 locks held by gnome-shell/1038:
[   35.758923]  #0:  (&dev->mode_config.mutex){+.+.+.}, at: [<ffffffffc01dd310>] drm_modeset_lock_all+0x40/0x120 [drm]
[   35.759039]  #1:  (crtc_ww_class_acquire){+.+.+.}, at: [<ffffffffc01dd31a>] drm_modeset_lock_all+0x4a/0x120 [drm]
[   35.759139]  #2:  (crtc_ww_class_mutex){+.+.+.}, at: [<ffffffffc01dd144>] drm_modeset_lock+0x74/0x150 [drm]
[   35.759237] irq event stamp: 1373664
[   35.759257] hardirqs last  enabled at (1373663): [<ffffffff8797925c>] _raw_spin_unlock_irq+0x2c/0x40
[   35.759385] hardirqs last disabled at (1373664): [<ffffffffc031b9a1>] intel_pipe_update_start+0xc1/0x400 [i915]
[   35.759405] softirqs last  enabled at (1373656): [<ffffffff8797d012>] __do_softirq+0x382/0x511
[   35.759425] softirqs last disabled at (1373649): [<ffffffff870bcb5f>] irq_exit+0x10f/0x120
[   35.759445] CPU: 0 PID: 1038 Comm: gnome-shell Not tainted 4.11.0-0.rc0.git4.21.surface3.fc26.x86_64 #1
[   35.759460] Hardware name: Microsoft Corporation Surface 3/Surface 3, BIOS 1.51116.178 03/09/2015
[   35.759473] Call Trace:
[   35.759502]  dump_stack+0x8e/0xd1
[   35.759528]  ___might_sleep+0x144/0x260
[   35.759555]  __might_sleep+0x4a/0x80
[   35.759585]  __mutex_lock+0x53/0x9e0
[   35.759605]  ? sched_clock+0x9/0x10
[   35.759626]  ? sched_clock+0x9/0x10
[   35.759646]  ? sched_clock_cpu+0x11/0xc0
[   35.759769]  ? fwtable_write32+0x131/0x320 [i915]
[   35.759807]  ? debug_lockdep_rcu_enabled+0x1d/0x30
[   35.759851]  mutex_lock_nested+0x1b/0x20
[   35.759972]  assert_dsi_pll+0x25/0xd0 [i915]
[   35.760102]  i9xx_load_luts_internal+0x47/0x190 [i915]
[   35.760242]  cherryview_load_luts+0x27f/0x2f0 [i915]
[   35.760273]  ? finish_wait+0x90/0x90
[   35.760411]  intel_color_load_luts+0x15/0x20 [i915]
[   35.760532]  intel_begin_crtc_commit+0xa7/0x1f0 [i915]
[   35.760571]  ? drm_atomic_helper_wait_for_dependencies+0x89/0x260 [drm_kms_helper]
[   35.760629]  drm_atomic_helper_commit_planes_on_crtc+0x59/0x250 [drm_kms_helper]
[   35.760779]  intel_update_crtc+0x86/0xd0 [i915]
[   35.760794]  ? _raw_spin_unlock+0x27/0x40
[   35.760931]  intel_update_crtcs+0x57/0x70 [i915]
[   35.761062]  intel_atomic_commit_tail+0x26d/0x1040 [i915]
[   35.761091]  ? __schedule+0x2c7/0xc20
[   35.761265]  intel_atomic_commit+0x425/0x560 [i915]
[   35.761303]  ? finish_wait+0x90/0x90
[   35.761393]  drm_atomic_commit+0x4b/0x50 [drm]
[   35.761437]  drm_atomic_helper_legacy_gamma_set+0x1a6/0x230 [drm_kms_helper]
[   35.761582]  intel_atomic_legacy_gamma_set+0x1b/0xa0 [i915]
[   35.761652]  drm_mode_gamma_set_ioctl+0x1b1/0x1d0 [drm]
[   35.761736]  drm_ioctl+0x231/0x4e0 [drm]
[   35.761797]  ? drm_mode_crtc_set_gamma_size+0xb0/0xb0 [drm]
[   35.761849]  ? __might_sleep+0x4a/0x80
[   35.761915]  do_vfs_ioctl+0xa6/0x750
[   35.761943]  ? __fget+0x5/0x210
[   35.761990]  SyS_ioctl+0x79/0x90
[   35.762026]  entry_SYSCALL_64_fastpath+0x1f/0xc2
[   35.762045] RIP: 0033:0x7f37faaa3787
[   35.762058] RSP: 002b:00007ffcddaba988 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[   35.762082] RAX: ffffffffffffffda RBX: 000055d069baf690 RCX: 00007f37faaa3787
[   35.762095] RDX: 00007ffcddaba9c0 RSI: 00000000c02064a5 RDI: 0000000000000008
[   35.762106] RBP: 0000000000000001 R08: 00007f37d8100290 R09: 00007f37d8075e00
[   35.762118] R10: 000055d069df20a0 R11: 0000000000000246 R12: 0000000000000001
[   35.762130] R13: 0000000000000000 R14: 00007f37fc59e8d0 R15: 00007f37d811d600
Comment 1 Jani Nikula 2017-02-28 16:01:03 UTC
(In reply to Bastien Nocera from comment #0)
> 4.11.0-0.rc0.git4.21.surface3.fc26.x86_64 on Surface 3

I can't reproduce this. I tried v4.10, current Linus' master at 86292b33d4b7 ("Merge branch 'akpm' (patches from Andrew)"), and current drm-tip branch of https://cgit.freedesktop.org/drm-tip.

Which kernel is this exactly (commit id and kernel config)? v4.11-rc1 isn't out yet and we're in the middle of the merge window so "v4.11" is a wildly volatile reference.

drm.debug=14 module parameter will be helpful in debugging.
Comment 2 Bastien Nocera 2017-03-01 12:14:18 UTC
(In reply to Jani Nikula from comment #1)
> (In reply to Bastien Nocera from comment #0)
> > 4.11.0-0.rc0.git4.21.surface3.fc26.x86_64 on Surface 3
> 
> I can't reproduce this. I tried v4.10, current Linus' master at 86292b33d4b7
> ("Merge branch 'akpm' (patches from Andrew)"), and current drm-tip branch of
> https://cgit.freedesktop.org/drm-tip.
> 
> Which kernel is this exactly (commit id and kernel config)? v4.11-rc1 isn't
> out yet and we're in the middle of the merge window so "v4.11" is a wildly
> volatile reference.

It's f1ef09f + Hans' patch from bug 97061. There are also a number of required patches, and "downstream" patches (from the upstream Fedora package). See:
https://github.com/hadess/fedora-surface3-kernel

> drm.debug=14 module parameter will be helpful in debugging.

I'll try and gather that as soon as I get a chance.
Comment 3 Ville Syrjala 2017-03-01 12:57:04 UTC
This is known regression from the color management work. I have mentioned it in bug 91883, comment 42. Maarten has posted a patch which should fix it: https://patchwork.freedesktop.org/patch/141259/
Comment 4 Bastien Nocera 2017-03-01 13:04:02 UTC
(In reply to Ville Syrjala from comment #3)
> This is known regression from the color management work. I have mentioned it
> in bug 91883, comment 42. Maarten has posted a patch which should fix it:
> https://patchwork.freedesktop.org/patch/141259/

Is the first patch in the series the only one needed?
Comment 5 Ville Syrjala 2017-03-01 13:10:29 UTC
(In reply to Bastien Nocera from comment #4)
> (In reply to Ville Syrjala from comment #3)
> > This is known regression from the color management work. I have mentioned it
> > in bug 91883, comment 42. Maarten has posted a patch which should fix it:
> > https://patchwork.freedesktop.org/patch/141259/
> 
> Is the first patch in the series the only one needed?

Yes
Comment 6 Jani Nikula 2017-03-14 14:21:02 UTC
commit 38230243ef316ac696956d75dc78a22e3aa789b9
Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Date:   Tue Feb 28 15:28:47 2017 +0100

    drm/i915: Move updating color management to before vblank evasion

in drm-intel-fixes should show up in v4.11-rc3, and get backported to v4.7+ stable kernels eventually.

Thanks for the report, closing. Please reopen if the problem persists with the above commit.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.