2014-02-07 09:32:17

by Borislav Petkov

[permalink] [raw]
Subject: intel_sdvo_init: trying to register non-static key

Hi guys,

so I'm seeing this on rc1 + tip during boot:

[ 0.558106] Linux agpgart interface v0.103
[ 0.558283] [drm] Initialized drm 1.1.0 20060810
[ 0.562280] [drm] Memory usable by graphics device = 2048M
[ 0.632301] i915 0000:00:02.0: irq 42 for MSI/MSI-X
[ 0.632401] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 0.632485] [drm] Driver supports precise vblank timestamp query.
[ 0.633200] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
[ 0.655917] INFO: trying to register non-static key.
[ 0.656003] the code is fine but needs lockdep annotation.
[ 0.656083] turning off the locking correctness validator.
[ 0.656165] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.14.0-rc1+ #1
[ 0.656248] Hardware name: LENOVO 2320CTO/2320CTO, BIOS G2ET86WW (2.06 ) 11/13/2012
[ 0.656348] ffff880213ca8000 ffff880213d01518 ffffffff8160ffa8 ffffffff810ad3c1
[ 0.656641] ffff8800cabc7560 ffff880213d01618 ffffffff8109e7c7 ffff880213ca8000
[ 0.656929] ffff880213ca8780 0000000000000000 0000000000000000 ffff880200000000
[ 0.657216] Call Trace:
[ 0.657295] [<ffffffff8160ffa8>] dump_stack+0x4f/0x7c
[ 0.657378] [<ffffffff810ad3c1>] ? console_unlock+0x2a1/0x450
[ 0.657465] [<ffffffff8109e7c7>] __lock_acquire+0x1b57/0x1d50
[ 0.657551] [<ffffffff8109f8b4>] ? mark_held_locks+0x74/0x140
[ 0.657637] [<ffffffff8109fbfe>] ? debug_check_no_locks_freed+0x8e/0x160
[ 0.657724] [<ffffffff8109ae23>] ? lockdep_init_map+0xb3/0x570
[ 0.657809] [<ffffffff8109fa9d>] ? trace_hardirqs_on_caller+0x11d/0x1e0
[ 0.657897] [<ffffffff811fb0f8>] ? kernfs_addrm_finish+0x38/0x60
[ 0.657982] [<ffffffff8109efd7>] lock_acquire+0x87/0x130
[ 0.658062] [<ffffffff811fb0f8>] ? kernfs_addrm_finish+0x38/0x60
[ 0.658148] [<ffffffff811fa8fe>] kernfs_deactivate+0x10e/0x150
[ 0.658232] [<ffffffff811fb0f8>] ? kernfs_addrm_finish+0x38/0x60
[ 0.658318] [<ffffffff811fb0f8>] kernfs_addrm_finish+0x38/0x60
[ 0.658404] [<ffffffff811fb358>] kernfs_remove_by_name_ns+0x58/0xb0
[ 0.658490] [<ffffffff811f8fd1>] remove_files.isra.1+0x41/0x80
[ 0.658574] [<ffffffff811f92d0>] sysfs_remove_group+0x50/0xb0
[ 0.658659] [<ffffffff811f936b>] sysfs_remove_groups+0x3b/0x60
[ 0.658746] [<ffffffff81417ecb>] device_remove_attrs+0x5b/0x80
[ 0.658832] [<ffffffff814185a5>] device_del+0x125/0x1c0
[ 0.658915] [<ffffffff81418656>] device_unregister+0x16/0x30
[ 0.659000] [<ffffffff814e89da>] i2c_del_adapter+0x1ba/0x270
[ 0.659086] [<ffffffff813ea916>] intel_sdvo_init+0x1f6/0x820
[ 0.659172] [<ffffffff8161c641>] ? preempt_count_sub+0xb1/0x100
[ 0.659258] [<ffffffff816184ab>] ? _raw_spin_unlock_irqrestore+0x4b/0x80
[ 0.659347] [<ffffffff81406823>] ? gen6_read32+0x63/0x170
[ 0.659431] [<ffffffff813d260d>] intel_modeset_init+0xb3d/0x1010
[ 0.659519] [<ffffffff813f5539>] ? intel_power_domains_init_hw+0xa9/0x110
[ 0.659606] [<ffffffff813978cf>] i915_driver_load+0xd5f/0xeb0
[ 0.659692] [<ffffffff8137d58a>] drm_dev_register+0x8a/0x190
[ 0.659777] [<ffffffff8137fc99>] drm_get_pci_dev+0xf9/0x230
[ 0.659861] [<ffffffff81393ccb>] i915_pci_probe+0x3b/0x60
[ 0.659945] [<ffffffff812d385e>] local_pci_probe+0x4e/0xa0
[ 0.660029] [<ffffffff81417699>] ? get_device+0x19/0x20
[ 0.660110] [<ffffffff812d4cb1>] pci_device_probe+0xe1/0x130
[ 0.660194] [<ffffffff8141c00b>] driver_probe_device+0x7b/0x240
[ 0.660279] [<ffffffff8141c27b>] __driver_attach+0xab/0xb0
[ 0.660363] [<ffffffff8141c1d0>] ? driver_probe_device+0x240/0x240
[ 0.660448] [<ffffffff8141a35e>] bus_for_each_dev+0x5e/0x90
[ 0.660532] [<ffffffff8141bb1e>] driver_attach+0x1e/0x20
[ 0.660615] [<ffffffff8141b697>] bus_add_driver+0x117/0x230
[ 0.660698] [<ffffffff8141c974>] driver_register+0x64/0xf0
[ 0.660780] [<ffffffff812d3bf4>] __pci_register_driver+0x64/0x70
[ 0.660869] [<ffffffff81d34280>] ? ftrace_define_fields_drm_vblank_event+0x6d/0x6d
[ 0.660970] [<ffffffff8137fee5>] drm_pci_init+0x115/0x130
[ 0.661054] [<ffffffff81d34280>] ? ftrace_define_fields_drm_vblank_event+0x6d/0x6d
[ 0.661157] [<ffffffff81d342ea>] i915_init+0x6a/0x6c
[ 0.661241] [<ffffffff8100027e>] do_one_initcall+0x4e/0x170
[ 0.661328] [<ffffffff81070800>] ? parse_args+0xb0/0x360
[ 0.661412] [<ffffffff81cf9fbe>] kernel_init_freeable+0x106/0x19a
[ 0.661497] [<ffffffff81cf983b>] ? do_early_param+0x86/0x86
[ 0.661580] [<ffffffff81606bf0>] ? rest_init+0xd0/0xd0
[ 0.661663] [<ffffffff81606bfe>] kernel_init+0xe/0x130
[ 0.661746] [<ffffffff81620cec>] ret_from_fork+0x7c/0xb0
[ 0.661828] [<ffffffff81606bf0>] ? rest_init+0xd0/0xd0
[ 0.747947] [drm] GMBUS [i915 gmbus dpb] timed out, falling back to bit banging on pin 5
[ 0.758745] fbcon: inteldrmfb (fb0) is primary device

--
Regards/Gruss,
Boris.

Sent from a fat crate under my desk. Formatting is fine.
--


2014-02-07 11:01:36

by Jani Nikula

[permalink] [raw]
Subject: Re: intel_sdvo_init: trying to register non-static key


Imre, is this the same i2c_del_adapter issue you're looking at? Any
patches to try yet?

BR,
Jani.


On Fri, 07 Feb 2014, Borislav Petkov <[email protected]> wrote:
> Hi guys,
>
> so I'm seeing this on rc1 + tip during boot:
>
> [ 0.558106] Linux agpgart interface v0.103
> [ 0.558283] [drm] Initialized drm 1.1.0 20060810
> [ 0.562280] [drm] Memory usable by graphics device = 2048M
> [ 0.632301] i915 0000:00:02.0: irq 42 for MSI/MSI-X
> [ 0.632401] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [ 0.632485] [drm] Driver supports precise vblank timestamp query.
> [ 0.633200] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
> [ 0.655917] INFO: trying to register non-static key.
> [ 0.656003] the code is fine but needs lockdep annotation.
> [ 0.656083] turning off the locking correctness validator.
> [ 0.656165] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.14.0-rc1+ #1
> [ 0.656248] Hardware name: LENOVO 2320CTO/2320CTO, BIOS G2ET86WW (2.06 ) 11/13/2012
> [ 0.656348] ffff880213ca8000 ffff880213d01518 ffffffff8160ffa8 ffffffff810ad3c1
> [ 0.656641] ffff8800cabc7560 ffff880213d01618 ffffffff8109e7c7 ffff880213ca8000
> [ 0.656929] ffff880213ca8780 0000000000000000 0000000000000000 ffff880200000000
> [ 0.657216] Call Trace:
> [ 0.657295] [<ffffffff8160ffa8>] dump_stack+0x4f/0x7c
> [ 0.657378] [<ffffffff810ad3c1>] ? console_unlock+0x2a1/0x450
> [ 0.657465] [<ffffffff8109e7c7>] __lock_acquire+0x1b57/0x1d50
> [ 0.657551] [<ffffffff8109f8b4>] ? mark_held_locks+0x74/0x140
> [ 0.657637] [<ffffffff8109fbfe>] ? debug_check_no_locks_freed+0x8e/0x160
> [ 0.657724] [<ffffffff8109ae23>] ? lockdep_init_map+0xb3/0x570
> [ 0.657809] [<ffffffff8109fa9d>] ? trace_hardirqs_on_caller+0x11d/0x1e0
> [ 0.657897] [<ffffffff811fb0f8>] ? kernfs_addrm_finish+0x38/0x60
> [ 0.657982] [<ffffffff8109efd7>] lock_acquire+0x87/0x130
> [ 0.658062] [<ffffffff811fb0f8>] ? kernfs_addrm_finish+0x38/0x60
> [ 0.658148] [<ffffffff811fa8fe>] kernfs_deactivate+0x10e/0x150
> [ 0.658232] [<ffffffff811fb0f8>] ? kernfs_addrm_finish+0x38/0x60
> [ 0.658318] [<ffffffff811fb0f8>] kernfs_addrm_finish+0x38/0x60
> [ 0.658404] [<ffffffff811fb358>] kernfs_remove_by_name_ns+0x58/0xb0
> [ 0.658490] [<ffffffff811f8fd1>] remove_files.isra.1+0x41/0x80
> [ 0.658574] [<ffffffff811f92d0>] sysfs_remove_group+0x50/0xb0
> [ 0.658659] [<ffffffff811f936b>] sysfs_remove_groups+0x3b/0x60
> [ 0.658746] [<ffffffff81417ecb>] device_remove_attrs+0x5b/0x80
> [ 0.658832] [<ffffffff814185a5>] device_del+0x125/0x1c0
> [ 0.658915] [<ffffffff81418656>] device_unregister+0x16/0x30
> [ 0.659000] [<ffffffff814e89da>] i2c_del_adapter+0x1ba/0x270
> [ 0.659086] [<ffffffff813ea916>] intel_sdvo_init+0x1f6/0x820
> [ 0.659172] [<ffffffff8161c641>] ? preempt_count_sub+0xb1/0x100
> [ 0.659258] [<ffffffff816184ab>] ? _raw_spin_unlock_irqrestore+0x4b/0x80
> [ 0.659347] [<ffffffff81406823>] ? gen6_read32+0x63/0x170
> [ 0.659431] [<ffffffff813d260d>] intel_modeset_init+0xb3d/0x1010
> [ 0.659519] [<ffffffff813f5539>] ? intel_power_domains_init_hw+0xa9/0x110
> [ 0.659606] [<ffffffff813978cf>] i915_driver_load+0xd5f/0xeb0
> [ 0.659692] [<ffffffff8137d58a>] drm_dev_register+0x8a/0x190
> [ 0.659777] [<ffffffff8137fc99>] drm_get_pci_dev+0xf9/0x230
> [ 0.659861] [<ffffffff81393ccb>] i915_pci_probe+0x3b/0x60
> [ 0.659945] [<ffffffff812d385e>] local_pci_probe+0x4e/0xa0
> [ 0.660029] [<ffffffff81417699>] ? get_device+0x19/0x20
> [ 0.660110] [<ffffffff812d4cb1>] pci_device_probe+0xe1/0x130
> [ 0.660194] [<ffffffff8141c00b>] driver_probe_device+0x7b/0x240
> [ 0.660279] [<ffffffff8141c27b>] __driver_attach+0xab/0xb0
> [ 0.660363] [<ffffffff8141c1d0>] ? driver_probe_device+0x240/0x240
> [ 0.660448] [<ffffffff8141a35e>] bus_for_each_dev+0x5e/0x90
> [ 0.660532] [<ffffffff8141bb1e>] driver_attach+0x1e/0x20
> [ 0.660615] [<ffffffff8141b697>] bus_add_driver+0x117/0x230
> [ 0.660698] [<ffffffff8141c974>] driver_register+0x64/0xf0
> [ 0.660780] [<ffffffff812d3bf4>] __pci_register_driver+0x64/0x70
> [ 0.660869] [<ffffffff81d34280>] ? ftrace_define_fields_drm_vblank_event+0x6d/0x6d
> [ 0.660970] [<ffffffff8137fee5>] drm_pci_init+0x115/0x130
> [ 0.661054] [<ffffffff81d34280>] ? ftrace_define_fields_drm_vblank_event+0x6d/0x6d
> [ 0.661157] [<ffffffff81d342ea>] i915_init+0x6a/0x6c
> [ 0.661241] [<ffffffff8100027e>] do_one_initcall+0x4e/0x170
> [ 0.661328] [<ffffffff81070800>] ? parse_args+0xb0/0x360
> [ 0.661412] [<ffffffff81cf9fbe>] kernel_init_freeable+0x106/0x19a
> [ 0.661497] [<ffffffff81cf983b>] ? do_early_param+0x86/0x86
> [ 0.661580] [<ffffffff81606bf0>] ? rest_init+0xd0/0xd0
> [ 0.661663] [<ffffffff81606bfe>] kernel_init+0xe/0x130
> [ 0.661746] [<ffffffff81620cec>] ret_from_fork+0x7c/0xb0
> [ 0.661828] [<ffffffff81606bf0>] ? rest_init+0xd0/0xd0
> [ 0.747947] [drm] GMBUS [i915 gmbus dpb] timed out, falling back to bit banging on pin 5
> [ 0.758745] fbcon: inteldrmfb (fb0) is primary device
>
> --
> Regards/Gruss,
> Boris.
>
> Sent from a fat crate under my desk. Formatting is fine.
> --

--
Jani Nikula, Intel Open Source Technology Center

2014-02-07 11:12:39

by Imre Deak

[permalink] [raw]
Subject: Re: intel_sdvo_init: trying to register non-static key

On Fri, 2014-02-07 at 13:04 +0200, Jani Nikula wrote:
> Imre, is this the same i2c_del_adapter issue you're looking at? Any
> patches to try yet?

It looks like the same issue yes. The following patch fixed it for me:

http://patchwork.freedesktop.org/patch/18698/

I'm working on an improved version of this, but the main thing - to
remove the connector's sysfs entries before actually destroying the
encoder and connector objects - will remain the same as in the above
patch.

--Imre

>
> BR,
> Jani.
>
>
> On Fri, 07 Feb 2014, Borislav Petkov <[email protected]> wrote:
> > Hi guys,
> >
> > so I'm seeing this on rc1 + tip during boot:
> >
> > [ 0.558106] Linux agpgart interface v0.103
> > [ 0.558283] [drm] Initialized drm 1.1.0 20060810
> > [ 0.562280] [drm] Memory usable by graphics device = 2048M
> > [ 0.632301] i915 0000:00:02.0: irq 42 for MSI/MSI-X
> > [ 0.632401] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> > [ 0.632485] [drm] Driver supports precise vblank timestamp query.
> > [ 0.633200] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
> > [ 0.655917] INFO: trying to register non-static key.
> > [ 0.656003] the code is fine but needs lockdep annotation.
> > [ 0.656083] turning off the locking correctness validator.
> > [ 0.656165] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.14.0-rc1+ #1
> > [ 0.656248] Hardware name: LENOVO 2320CTO/2320CTO, BIOS G2ET86WW (2.06 ) 11/13/2012
> > [ 0.656348] ffff880213ca8000 ffff880213d01518 ffffffff8160ffa8 ffffffff810ad3c1
> > [ 0.656641] ffff8800cabc7560 ffff880213d01618 ffffffff8109e7c7 ffff880213ca8000
> > [ 0.656929] ffff880213ca8780 0000000000000000 0000000000000000 ffff880200000000
> > [ 0.657216] Call Trace:
> > [ 0.657295] [<ffffffff8160ffa8>] dump_stack+0x4f/0x7c
> > [ 0.657378] [<ffffffff810ad3c1>] ? console_unlock+0x2a1/0x450
> > [ 0.657465] [<ffffffff8109e7c7>] __lock_acquire+0x1b57/0x1d50
> > [ 0.657551] [<ffffffff8109f8b4>] ? mark_held_locks+0x74/0x140
> > [ 0.657637] [<ffffffff8109fbfe>] ? debug_check_no_locks_freed+0x8e/0x160
> > [ 0.657724] [<ffffffff8109ae23>] ? lockdep_init_map+0xb3/0x570
> > [ 0.657809] [<ffffffff8109fa9d>] ? trace_hardirqs_on_caller+0x11d/0x1e0
> > [ 0.657897] [<ffffffff811fb0f8>] ? kernfs_addrm_finish+0x38/0x60
> > [ 0.657982] [<ffffffff8109efd7>] lock_acquire+0x87/0x130
> > [ 0.658062] [<ffffffff811fb0f8>] ? kernfs_addrm_finish+0x38/0x60
> > [ 0.658148] [<ffffffff811fa8fe>] kernfs_deactivate+0x10e/0x150
> > [ 0.658232] [<ffffffff811fb0f8>] ? kernfs_addrm_finish+0x38/0x60
> > [ 0.658318] [<ffffffff811fb0f8>] kernfs_addrm_finish+0x38/0x60
> > [ 0.658404] [<ffffffff811fb358>] kernfs_remove_by_name_ns+0x58/0xb0
> > [ 0.658490] [<ffffffff811f8fd1>] remove_files.isra.1+0x41/0x80
> > [ 0.658574] [<ffffffff811f92d0>] sysfs_remove_group+0x50/0xb0
> > [ 0.658659] [<ffffffff811f936b>] sysfs_remove_groups+0x3b/0x60
> > [ 0.658746] [<ffffffff81417ecb>] device_remove_attrs+0x5b/0x80
> > [ 0.658832] [<ffffffff814185a5>] device_del+0x125/0x1c0
> > [ 0.658915] [<ffffffff81418656>] device_unregister+0x16/0x30
> > [ 0.659000] [<ffffffff814e89da>] i2c_del_adapter+0x1ba/0x270
> > [ 0.659086] [<ffffffff813ea916>] intel_sdvo_init+0x1f6/0x820
> > [ 0.659172] [<ffffffff8161c641>] ? preempt_count_sub+0xb1/0x100
> > [ 0.659258] [<ffffffff816184ab>] ? _raw_spin_unlock_irqrestore+0x4b/0x80
> > [ 0.659347] [<ffffffff81406823>] ? gen6_read32+0x63/0x170
> > [ 0.659431] [<ffffffff813d260d>] intel_modeset_init+0xb3d/0x1010
> > [ 0.659519] [<ffffffff813f5539>] ? intel_power_domains_init_hw+0xa9/0x110
> > [ 0.659606] [<ffffffff813978cf>] i915_driver_load+0xd5f/0xeb0
> > [ 0.659692] [<ffffffff8137d58a>] drm_dev_register+0x8a/0x190
> > [ 0.659777] [<ffffffff8137fc99>] drm_get_pci_dev+0xf9/0x230
> > [ 0.659861] [<ffffffff81393ccb>] i915_pci_probe+0x3b/0x60
> > [ 0.659945] [<ffffffff812d385e>] local_pci_probe+0x4e/0xa0
> > [ 0.660029] [<ffffffff81417699>] ? get_device+0x19/0x20
> > [ 0.660110] [<ffffffff812d4cb1>] pci_device_probe+0xe1/0x130
> > [ 0.660194] [<ffffffff8141c00b>] driver_probe_device+0x7b/0x240
> > [ 0.660279] [<ffffffff8141c27b>] __driver_attach+0xab/0xb0
> > [ 0.660363] [<ffffffff8141c1d0>] ? driver_probe_device+0x240/0x240
> > [ 0.660448] [<ffffffff8141a35e>] bus_for_each_dev+0x5e/0x90
> > [ 0.660532] [<ffffffff8141bb1e>] driver_attach+0x1e/0x20
> > [ 0.660615] [<ffffffff8141b697>] bus_add_driver+0x117/0x230
> > [ 0.660698] [<ffffffff8141c974>] driver_register+0x64/0xf0
> > [ 0.660780] [<ffffffff812d3bf4>] __pci_register_driver+0x64/0x70
> > [ 0.660869] [<ffffffff81d34280>] ? ftrace_define_fields_drm_vblank_event+0x6d/0x6d
> > [ 0.660970] [<ffffffff8137fee5>] drm_pci_init+0x115/0x130
> > [ 0.661054] [<ffffffff81d34280>] ? ftrace_define_fields_drm_vblank_event+0x6d/0x6d
> > [ 0.661157] [<ffffffff81d342ea>] i915_init+0x6a/0x6c
> > [ 0.661241] [<ffffffff8100027e>] do_one_initcall+0x4e/0x170
> > [ 0.661328] [<ffffffff81070800>] ? parse_args+0xb0/0x360
> > [ 0.661412] [<ffffffff81cf9fbe>] kernel_init_freeable+0x106/0x19a
> > [ 0.661497] [<ffffffff81cf983b>] ? do_early_param+0x86/0x86
> > [ 0.661580] [<ffffffff81606bf0>] ? rest_init+0xd0/0xd0
> > [ 0.661663] [<ffffffff81606bfe>] kernel_init+0xe/0x130
> > [ 0.661746] [<ffffffff81620cec>] ret_from_fork+0x7c/0xb0
> > [ 0.661828] [<ffffffff81606bf0>] ? rest_init+0xd0/0xd0
> > [ 0.747947] [drm] GMBUS [i915 gmbus dpb] timed out, falling back to bit banging on pin 5
> > [ 0.758745] fbcon: inteldrmfb (fb0) is primary device
> >
> > --
> > Regards/Gruss,
> > Boris.
> >
> > Sent from a fat crate under my desk. Formatting is fine.
> > --
>


Attachments:
signature.asc (490.00 B)
This is a digitally signed message part

2014-02-07 11:28:18

by Borislav Petkov

[permalink] [raw]
Subject: Re: intel_sdvo_init: trying to register non-static key

On Fri, Feb 07, 2014 at 01:12:22PM +0200, Imre Deak wrote:
> On Fri, 2014-02-07 at 13:04 +0200, Jani Nikula wrote:
> > Imre, is this the same i2c_del_adapter issue you're looking at? Any
> > patches to try yet?
>
> It looks like the same issue yes. The following patch fixed it for me:
>
> http://patchwork.freedesktop.org/patch/18698/
>
> I'm working on an improved version of this, but the main thing - to
> remove the connector's sysfs entries before actually destroying the
> encoder and connector objects - will remain the same as in the above
> patch.

You could shoot the final version my way so that I give it a run too.

Thanks.

--
Regards/Gruss,
Boris.

Sent from a fat crate under my desk. Formatting is fine.
--

2014-02-07 14:51:57

by Daniel Vetter

[permalink] [raw]
Subject: Re: intel_sdvo_init: trying to register non-static key

On Fri, Feb 07, 2014 at 12:28:09PM +0100, Borislav Petkov wrote:
> On Fri, Feb 07, 2014 at 01:12:22PM +0200, Imre Deak wrote:
> > On Fri, 2014-02-07 at 13:04 +0200, Jani Nikula wrote:
> > > Imre, is this the same i2c_del_adapter issue you're looking at? Any
> > > patches to try yet?
> >
> > It looks like the same issue yes. The following patch fixed it for me:
> >
> > http://patchwork.freedesktop.org/patch/18698/
> >
> > I'm working on an improved version of this, but the main thing - to
> > remove the connector's sysfs entries before actually destroying the
> > encoder and connector objects - will remain the same as in the above
> > patch.
>
> You could shoot the final version my way so that I give it a run too.

The final version will only change the code layout a bit, but not the
logic. So a tested-by from you for v1 would be helpful anyway, to make
really sure you've reported the same issue. If that's not the case then we
need to dig deeper, so better not to waste a few days waiting for v2.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

2014-02-07 15:32:39

by Imre Deak

[permalink] [raw]
Subject: Re: intel_sdvo_init: trying to register non-static key

On Fri, 2014-02-07 at 15:51 +0100, Daniel Vetter wrote:
> On Fri, Feb 07, 2014 at 12:28:09PM +0100, Borislav Petkov wrote:
> > On Fri, Feb 07, 2014 at 01:12:22PM +0200, Imre Deak wrote:
> > > On Fri, 2014-02-07 at 13:04 +0200, Jani Nikula wrote:
> > > > Imre, is this the same i2c_del_adapter issue you're looking at? Any
> > > > patches to try yet?
> > >
> > > It looks like the same issue yes. The following patch fixed it for me:
> > >
> > > http://patchwork.freedesktop.org/patch/18698/
> > >
> > > I'm working on an improved version of this, but the main thing - to
> > > remove the connector's sysfs entries before actually destroying the
> > > encoder and connector objects - will remain the same as in the above
> > > patch.
> >
> > You could shoot the final version my way so that I give it a run too.
>
> The final version will only change the code layout a bit, but not the
> logic. So a tested-by from you for v1 would be helpful anyway, to make
> really sure you've reported the same issue. If that's not the case then we
> need to dig deeper, so better not to waste a few days waiting for v2.

I just realized it's a different issue, since it's on the init path.
Also we set the drm device as the parent for the sdvo i2c adapter as
opposed to the dp i2c adapter where it's the connector device. So the
above patch won't help in Borislav's case. I'm looking into this issue
anyway.

--Imre

> -Daniel


Attachments:
signature.asc (490.00 B)
This is a digitally signed message part

2014-02-07 15:49:20

by Borislav Petkov

[permalink] [raw]
Subject: Re: intel_sdvo_init: trying to register non-static key

On Fri, Feb 07, 2014 at 05:32:06PM +0200, Imre Deak wrote:
> I just realized it's a different issue, since it's on the init path.
> Also we set the drm device as the parent for the sdvo i2c adapter as
> opposed to the dp i2c adapter where it's the connector device. So the
> above patch won't help in Borislav's case.

Yep, correct:

[ 0.555355] Linux agpgart interface v0.103
[ 0.555524] [drm] Initialized drm 1.1.0 20060810
[ 0.559559] [drm] Memory usable by graphics device = 2048M
[ 0.630197] i915 0000:00:02.0: irq 42 for MSI/MSI-X
[ 0.630301] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 0.630384] [drm] Driver supports precise vblank timestamp query.
[ 0.631116] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
[ 0.653810] INFO: trying to register non-static key.
[ 0.653896] the code is fine but needs lockdep annotation.
[ 0.653974] turning off the locking correctness validator.
[ 0.654057] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.14.0-rc1+ #1
[ 0.654136] Hardware name: LENOVO 2320CTO/2320CTO, BIOS G2ET86WW (2.06 ) 11/13/2012
[ 0.654236] ffff880213ca8000 ffff880213d01518 ffffffff81610028 ffffffff810ad3c1
[ 0.654525] ffff8800ca6f5ab8 ffff880213d01618 ffffffff8109e7c7 ffff880213ca8000
[ 0.654819] ffff880213ca8780 0000000000000000 0000000000000000 ffff880200000000
[ 0.655108] Call Trace:
[ 0.655186] [<ffffffff81610028>] dump_stack+0x4f/0x7c
[ 0.655270] [<ffffffff810ad3c1>] ? console_unlock+0x2a1/0x450
[ 0.655357] [<ffffffff8109e7c7>] __lock_acquire+0x1b57/0x1d50
[ 0.655441] [<ffffffff8109f8b4>] ? mark_held_locks+0x74/0x140
[ 0.655525] [<ffffffff8109fbfe>] ? debug_check_no_locks_freed+0x8e/0x160
[ 0.655612] [<ffffffff8109ae23>] ? lockdep_init_map+0xb3/0x570
[ 0.655696] [<ffffffff8109fa9d>] ? trace_hardirqs_on_caller+0x11d/0x1e0
[ 0.655784] [<ffffffff811fb0f8>] ? kernfs_addrm_finish+0x38/0x60
[ 0.655868] [<ffffffff8109efd7>] lock_acquire+0x87/0x130
[ 0.655953] [<ffffffff811fb0f8>] ? kernfs_addrm_finish+0x38/0x60
[ 0.656035] [<ffffffff811fa8fe>] kernfs_deactivate+0x10e/0x150
[ 0.656119] [<ffffffff811fb0f8>] ? kernfs_addrm_finish+0x38/0x60
[ 0.656206] [<ffffffff811fb0f8>] kernfs_addrm_finish+0x38/0x60
[ 0.656290] [<ffffffff811fb358>] kernfs_remove_by_name_ns+0x58/0xb0
[ 0.656375] [<ffffffff811f8fd1>] remove_files.isra.1+0x41/0x80
[ 0.656455] [<ffffffff811f92d0>] sysfs_remove_group+0x50/0xb0
[ 0.656541] [<ffffffff811f936b>] sysfs_remove_groups+0x3b/0x60
[ 0.656627] [<ffffffff81417f4b>] device_remove_attrs+0x5b/0x80
[ 0.656712] [<ffffffff81418625>] device_del+0x125/0x1c0
[ 0.656794] [<ffffffff814186d6>] device_unregister+0x16/0x30
[ 0.656876] [<ffffffff814e8a5a>] i2c_del_adapter+0x1ba/0x270
[ 0.656962] [<ffffffff813ea986>] intel_sdvo_init+0x1f6/0x830
[ 0.657048] [<ffffffff8161c6c1>] ? preempt_count_sub+0xb1/0x100
[ 0.657134] [<ffffffff8161852b>] ? _raw_spin_unlock_irqrestore+0x4b/0x80
[ 0.657220] [<ffffffff814068a3>] ? gen6_read32+0x63/0x170
[ 0.657305] [<ffffffff813d260d>] intel_modeset_init+0xb3d/0x1010
[ 0.657392] [<ffffffff813f55b9>] ? intel_power_domains_init_hw+0xa9/0x110
[ 0.657478] [<ffffffff813978cf>] i915_driver_load+0xd5f/0xeb0
[ 0.657565] [<ffffffff8137d58a>] drm_dev_register+0x8a/0x190
[ 0.657649] [<ffffffff8137fc99>] drm_get_pci_dev+0xf9/0x230
[ 0.657733] [<ffffffff81393ccb>] i915_pci_probe+0x3b/0x60
[ 0.657818] [<ffffffff812d385e>] local_pci_probe+0x4e/0xa0
[ 0.657899] [<ffffffff81417719>] ? get_device+0x19/0x20
[ 0.657982] [<ffffffff812d4cb1>] pci_device_probe+0xe1/0x130
[ 0.658067] [<ffffffff8141c08b>] driver_probe_device+0x7b/0x240
[ 0.658151] [<ffffffff8141c2fb>] __driver_attach+0xab/0xb0
[ 0.658234] [<ffffffff8141c250>] ? driver_probe_device+0x240/0x240
[ 0.658319] [<ffffffff8141a3de>] bus_for_each_dev+0x5e/0x90
[ 0.658403] [<ffffffff8141bb9e>] driver_attach+0x1e/0x20
[ 0.658487] [<ffffffff8141b717>] bus_add_driver+0x117/0x230
[ 0.658570] [<ffffffff8141c9f4>] driver_register+0x64/0xf0
[ 0.658650] [<ffffffff812d3bf4>] __pci_register_driver+0x64/0x70
[ 0.658738] [<ffffffff81d34280>] ? ftrace_define_fields_drm_vblank_event+0x6d/0x6d
[ 0.658839] [<ffffffff8137fee5>] drm_pci_init+0x115/0x130
[ 0.658919] [<ffffffff81d34280>] ? ftrace_define_fields_drm_vblank_event+0x6d/0x6d
[ 0.659021] [<ffffffff81d342ea>] i915_init+0x6a/0x6c
[ 0.659102] [<ffffffff8100027e>] do_one_initcall+0x4e/0x170
[ 0.659187] [<ffffffff81070800>] ? parse_args+0xb0/0x360
[ 0.659270] [<ffffffff81cf9fbe>] kernel_init_freeable+0x106/0x19a
[ 0.659355] [<ffffffff81cf983b>] ? do_early_param+0x86/0x86
[ 0.659440] [<ffffffff81606c70>] ? rest_init+0xd0/0xd0
[ 0.659521] [<ffffffff81606c7e>] kernel_init+0xe/0x130
[ 0.659604] [<ffffffff81620d6c>] ret_from_fork+0x7c/0xb0
[ 0.659685] [<ffffffff81606c70>] ? rest_init+0xd0/0xd0
[ 0.745837] [drm] GMBUS [i915 gmbus dpb] timed out, falling back to bit banging on pin 5
[ 0.756633] fbcon: inteldrmfb (fb0) is primary device


--
Regards/Gruss,
Boris.

Sent from a fat crate under my desk. Formatting is fine.
--

2014-02-07 16:48:23

by Imre Deak

[permalink] [raw]
Subject: Re: intel_sdvo_init: trying to register non-static key

On Fri, 2014-02-07 at 16:49 +0100, Borislav Petkov wrote:
> On Fri, Feb 07, 2014 at 05:32:06PM +0200, Imre Deak wrote:
> > I just realized it's a different issue, since it's on the init path.
> > Also we set the drm device as the parent for the sdvo i2c adapter as
> > opposed to the dp i2c adapter where it's the connector device. So the
> > above patch won't help in Borislav's case.

Ok, not sure why the sdvo initialization fails, but the lockdep warning
is probably fixed by the below patch. Could you try it and send a dmesg
with drm.debug=0xe?

diff --git a/fs/kernfs/dir.c b/fs/kernfs/dir.c
index 5104cf5..bd6e18b 100644
--- a/fs/kernfs/dir.c
+++ b/fs/kernfs/dir.c
@@ -187,19 +187,23 @@ static void kernfs_deactivate(struct kernfs_node
*kn)

kn->u.completion = (void *)&wait;

- rwsem_acquire(&kn->dep_map, 0, 0, _RET_IP_);
+ if (kn->flags & KERNFS_LOCKDEP)
+ rwsem_acquire(&kn->dep_map, 0, 0, _RET_IP_);
/* atomic_add_return() is a mb(), put_active() will always see
* the updated kn->u.completion.
*/
v = atomic_add_return(KN_DEACTIVATED_BIAS, &kn->active);

if (v != KN_DEACTIVATED_BIAS) {
- lock_contended(&kn->dep_map, _RET_IP_);
+ if (kn->flags & KERNFS_LOCKDEP)
+ lock_contended(&kn->dep_map, _RET_IP_);
wait_for_completion(&wait);
}

- lock_acquired(&kn->dep_map, _RET_IP_);
- rwsem_release(&kn->dep_map, 1, _RET_IP_);
+ if (kn->flags & KERNFS_LOCKDEP) {
+ lock_acquired(&kn->dep_map, _RET_IP_);
+ rwsem_release(&kn->dep_map, 1, _RET_IP_);
+ }
}




Attachments:
signature.asc (490.00 B)
This is a digitally signed message part

2014-02-10 15:49:46

by Borislav Petkov

[permalink] [raw]
Subject: Re: intel_sdvo_init: trying to register non-static key

On Fri, Feb 07, 2014 at 06:47:54PM +0200, Imre Deak wrote:
> Ok, not sure why the sdvo initialization fails, but the lockdep
> warning is probably fixed by the below patch. Could you try it and
> send a dmesg with drm.debug=0xe?

Yep, FWIW, the issue is fixed in -rc2, as it got cleared in the other
thread that there's a fix for that on its way to Linus. I.e., this one

commit da9846ae15186d491d6e21ebbb5051e1d3c7f652
Author: Tejun Heo <[email protected]>
Date: Wed Jan 29 12:04:03 2014 -0500

kernfs: make kernfs_deactivate() honor KERNFS_LOCKDEP flag

Thanks for addressing this issue so quickly!

--
Regards/Gruss,
Boris.

Sent from a fat crate under my desk. Formatting is fine.
--