Commit e7c0bbf4 authored by Archit Taneja's avatar Archit Taneja Committed by Srinivas Kandagatla
Browse files

DOWNSTREAM: msm-iommu-v1: fix shrinker lockdep issue (2)



======================================================
[ INFO: RECLAIM_FS-safe -> RECLAIM_FS-unsafe lock order detected ]
4.7.0-rc7+ #520 Not tainted
------------------------------------------------------
bootanimation/2068 [HC0[0]:SC0[0]:HE1:SE1] is trying to acquire:
 (prepare_lock){+.+.+.}, at: [<ffff0000087e6538>] clk_prepare_lock+0x48/0xe0

and this task is already holding:
 (msm_iommu_lock){+.+.-.}, at: [<ffff0000084e9d44>] msm_iommu_unmap+0x34/0x130
which would create a new lock dependency:
 (msm_iommu_lock){+.+.-.} -> (prepare_lock){+.+.+.}

but this new dependency connects a RECLAIM_FS-irq-safe lock:
 (msm_iommu_lock){+.+.-.}
... which became RECLAIM_FS-irq-safe at:
  [<ffff000008105778>] mark_lock+0x1c0/0x6c0
  [<ffff000008107700>] __lock_acquire+0x518/0x18d8
  [<ffff000008108e0c>] lock_acquire+0x4c/0x68
  [<ffff000008ac36d4>] mutex_lock_nested+0x54/0x390
  [<ffff0000084e9d44>] msm_iommu_unmap+0x34/0x130
  [<ffff0000084e4c30>] iommu_unmap+0x98/0xf0
  [<ffff000008546ac8>] msm_iommu_unmap+0x70/0xa8
  [<ffff0000085422d4>] put_iova+0x7c/0x90
  [<ffff000008543048>] msm_gem_purge+0x40/0xf0
  [<ffff000008544170>] msm_gem_shrinker_scan+0xc8/0x160
  [<ffff0000081883f8>] shrink_slab.part.5+0x190/0x2d0
  [<ffff00000818ba04>] shrink_zone+0x324/0x328
  [<ffff00000818c4f4>] kswapd+0x534/0x810
  [<ffff0000080da134>] kthread+0xcc/0xe0
  [<ffff000008084ed0>] ret_from_fork+0x10/0x40

to a RECLAIM_FS-irq-unsafe lock:
 (prepare_lock){+.+.+.}
... which became RECLAIM_FS-irq-unsafe at:
...  [<ffff000008105778>] mark_lock+0x1c0/0x6c0
  [<ffff000008105ce8>] mark_held_locks+0x70/0xb0
  [<ffff000008106360>] lockdep_trace_alloc+0x70/0xc8
  [<ffff0000081cc718>] __kmalloc+0x50/0x260
  [<ffff000008479438>] qcom_rpm_smd_write+0x50/0x168
  [<ffff0000087f5790>] clk_smd_rpm_set_rate_active+0x58/0x60
  [<ffff0000087f5938>] clk_smd_rpm_prepare+0x78/0x108
  [<ffff0000087e68d4>] clk_core_prepare+0x9c/0xc0
  [<ffff0000087e8c68>] clk_prepare+0x20/0x50
  [<ffff00000847fb34>] enable_nodeclk.isra.4.part.5+0x1c/0x98
  [<ffff0000084805fc>] msm_bus_dev_init_qos+0x13c/0x308
  [<ffff00000855a6a0>] bus_for_each_dev+0x60/0xa0
  [<ffff000008480138>] msm_bus_device_probe+0x478/0x800
  [<ffff00000855dc0c>] platform_drv_probe+0x74/0xe0
  [<ffff00000855c5c4>] driver_probe_device+0x1fc/0x2a8
  [<ffff00000855c724>] __driver_attach+0xb4/0xb8
  [<ffff00000855a6a0>] bus_for_each_dev+0x60/0xa0
  [<ffff00000855c860>] driver_attach+0x20/0x28
  [<ffff00000855b098>] bus_add_driver+0x110/0x228
  [<ffff00000855cfb0>] driver_register+0x60/0xf8
  [<ffff00000855e884>] __platform_driver_register+0x44/0x50
  [<ffff000008e36bf8>] msm_bus_device_init_driver+0x2c/0x64
  [<ffff000008e10c7c>] do_one_initcall+0x84/0x118
  [<ffff000008e10e54>] kernel_init_freeable+0x144/0x1e8
  [<ffff000008abe188>] kernel_init+0x10/0x100
  [<ffff000008084ed0>] ret_from_fork+0x10/0x40

other info that might help us debug this:

 Possible interrupt unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(prepare_lock);
                               local_irq_disable();
                               lock(msm_iommu_lock);
                               lock(prepare_lock);
  <Interrupt>
    lock(msm_iommu_lock);

 *** DEADLOCK ***

3 locks held by bootanimation/2068:
 #0:  (drm_global_mutex){+.+.+.}, at: [<ffff000008503e88>] drm_release+0x40/0x348
 #1:  (&dev->struct_mutex){+.+.+.}, at: [<ffff000008504ee0>] drm_gem_object_unreference_unlocked+0x140/0x178
 #2:  (msm_iommu_lock){+.+.-.}, at: [<ffff0000084e9d44>] msm_iommu_unmap+0x34/0x130

the dependencies between RECLAIM_FS-irq-safe lock and the holding lock:
-> (msm_iommu_lock){+.+.-.} ops: 19991 {
   HARDIRQ-ON-W at:
                    [<ffff000008105778>] mark_lock+0x1c0/0x6c0
                    [<ffff0000081076c0>] __lock_acquire+0x4d8/0x18d8
                    [<ffff000008108e0c>] lock_acquire+0x4c/0x68
                    [<ffff000008ac36d4>] mutex_lock_nested+0x54/0x390
                    [<ffff0000084ea17c>] msm_iommu_attach_dev+0x34/0x738
                    [<ffff0000084e4988>] iommu_attach_device+0xa0/0xd8
                    [<ffff00000854699c>] msm_iommu_attach+0x54/0x110
                    [<ffff00000853a780>] mdp5_kms_init+0x150/0x790
                    [<ffff0000085413cc>] msm_drm_bind+0x234/0x528
                    [<ffff000008556cd4>] try_to_bring_up_master+0x144/0x1a8
                    [<ffff0000085573c0>] component_add+0x98/0x160
                    [<ffff000008549dd4>] dsi_dev_probe+0x1c/0x28
                    [<ffff00000855dc0c>] platform_drv_probe+0x74/0xe0
                    [<ffff00000855c5c4>] driver_probe_device+0x1fc/0x2a8
                    [<ffff00000855c7bc>] __device_attach_driver+0x94/0xd8
                    [<ffff00000855abe0>] bus_for_each_drv+0x58/0x98
                    [<ffff00000855c284>] __device_attach+0xcc/0x140
                    [<ffff00000855c838>] device_initial_probe+0x10/0x18
                    [<ffff00000855ae64>] bus_probe_device+0x94/0xa0
                    [<ffff00000855bb68>] deferred_probe_work_func+0x78/0xb0
                    [<ffff0000080d3064>] process_one_work+0x22c/0x440
                    [<ffff0000080d32c0>] worker_thread+0x48/0x498
                    [<ffff0000080da134>] kthread+0xcc/0xe0
                    [<ffff000008084ed0>] ret_from_fork+0x10/0x40
   SOFTIRQ-ON-W at:
                    [<ffff000008105778>] mark_lock+0x1c0/0x6c0
                    [<ffff0000081076e4>] __lock_acquire+0x4fc/0x18d8
                    [<ffff000008108e0c>] lock_acquire+0x4c/0x68
                    [<ffff000008ac36d4>] mutex_lock_nested+0x54/0x390
                    [<ffff0000084ea17c>] msm_iommu_attach_dev+0x34/0x738
                    [<ffff0000084e4988>] iommu_attach_device+0xa0/0xd8
                    [<ffff00000854699c>] msm_iommu_attach+0x54/0x110
                    [<ffff00000853a780>] mdp5_kms_init+0x150/0x790
                    [<ffff0000085413cc>] msm_drm_bind+0x234/0x528
                    [<ffff000008556cd4>] try_to_bring_up_master+0x144/0x1a8
                    [<ffff0000085573c0>] component_add+0x98/0x160
                    [<ffff000008549dd4>] dsi_dev_probe+0x1c/0x28
                    [<ffff00000855dc0c>] platform_drv_probe+0x74/0xe0
                    [<ffff00000855c5c4>] driver_probe_device+0x1fc/0x2a8
                    [<ffff00000855c7bc>] __device_attach_driver+0x94/0xd8
                    [<ffff00000855abe0>] bus_for_each_drv+0x58/0x98
                    [<ffff00000855c284>] __device_attach+0xcc/0x140
                    [<ffff00000855c838>] device_initial_probe+0x10/0x18
                    [<ffff00000855ae64>] bus_probe_device+0x94/0xa0
                    [<ffff00000855bb68>] deferred_probe_work_func+0x78/0xb0
                    [<ffff0000080d3064>] process_one_work+0x22c/0x440
                    [<ffff0000080d32c0>] worker_thread+0x48/0x498
                    [<ffff0000080da134>] kthread+0xcc/0xe0
                    [<ffff000008084ed0>] ret_from_fork+0x10/0x40
   IN-RECLAIM_FS-W at:
                       [<ffff000008105778>] mark_lock+0x1c0/0x6c0
                       [<ffff000008107700>] __lock_acquire+0x518/0x18d8
                       [<ffff000008108e0c>] lock_acquire+0x4c/0x68
                       [<ffff000008ac36d4>] mutex_lock_nested+0x54/0x390
                       [<ffff0000084e9d44>] msm_iommu_unmap+0x34/0x130
                       [<ffff0000084e4c30>] iommu_unmap+0x98/0xf0
                       [<ffff000008546ac8>] msm_iommu_unmap+0x70/0xa8
                       [<ffff0000085422d4>] put_iova+0x7c/0x90
                       [<ffff000008543048>] msm_gem_purge+0x40/0xf0
                       [<ffff000008544170>] msm_gem_shrinker_scan+0xc8/0x160
                       [<ffff0000081883f8>] shrink_slab.part.5+0x190/0x2d0
                       [<ffff00000818ba04>] shrink_zone+0x324/0x328
                       [<ffff00000818c4f4>] kswapd+0x534/0x810
                       [<ffff0000080da134>] kthread+0xcc/0xe0
                       [<ffff000008084ed0>] ret_from_fork+0x10/0x40
   INITIAL USE at:
                   [<ffff000008105778>] mark_lock+0x1c0/0x6c0
                   [<ffff0000081074b4>] __lock_acquire+0x2cc/0x18d8
                   [<ffff000008108e0c>] lock_acquire+0x4c/0x68
                   [<ffff000008ac36d4>] mutex_lock_nested+0x54/0x390
                   [<ffff0000084ea17c>] msm_iommu_attach_dev+0x34/0x738
                   [<ffff0000084e4988>] iommu_attach_device+0xa0/0xd8
                   [<ffff00000854699c>] msm_iommu_attach+0x54/0x110
                   [<ffff00000853a780>] mdp5_kms_init+0x150/0x790
                   [<ffff0000085413cc>] msm_drm_bind+0x234/0x528
                   [<ffff000008556cd4>] try_to_bring_up_master+0x144/0x1a8
                   [<ffff0000085573c0>] component_add+0x98/0x160
                   [<ffff000008549dd4>] dsi_dev_probe+0x1c/0x28
                   [<ffff00000855dc0c>] platform_drv_probe+0x74/0xe0
                   [<ffff00000855c5c4>] driver_probe_device+0x1fc/0x2a8
                   [<ffff00000855c7bc>] __device_attach_driver+0x94/0xd8
                   [<ffff00000855abe0>] bus_for_each_drv+0x58/0x98
                   [<ffff00000855c284>] __device_attach+0xcc/0x140
                   [<ffff00000855c838>] device_initial_probe+0x10/0x18
                   [<ffff00000855ae64>] bus_probe_device+0x94/0xa0
                   [<ffff00000855bb68>] deferred_probe_work_func+0x78/0xb0
                   [<ffff0000080d3064>] process_one_work+0x22c/0x440
                   [<ffff0000080d32c0>] worker_thread+0x48/0x498
                   [<ffff0000080da134>] kthread+0xcc/0xe0
                   [<ffff000008084ed0>] ret_from_fork+0x10/0x40
 }
 ... key      at: [<ffff000008f22120>] msm_iommu_lock+0x60/0x80
 ... acquired at:
   [<ffff000008105250>] check_usage+0x408/0x5c0
   [<ffff000008105460>] check_irq_usage+0x58/0xc8
   [<ffff000008108230>] __lock_acquire+0x1048/0x18d8
   [<ffff000008108e0c>] lock_acquire+0x4c/0x68
   [<ffff000008ac36d4>] mutex_lock_nested+0x54/0x390
   [<ffff0000087e6538>] clk_prepare_lock+0x48/0xe0
   [<ffff0000087e8c60>] clk_prepare+0x18/0x50
   [<ffff0000084e98b8>] __enable_clocks+0x20/0xc0
   [<ffff0000084e9d94>] msm_iommu_unmap+0x84/0x130
   [<ffff0000084e4c30>] iommu_unmap+0x98/0xf0
   [<ffff000008546ac8>] msm_iommu_unmap+0x70/0xa8
   [<ffff0000085422d4>] put_iova+0x7c/0x90
   [<ffff000008543888>] msm_gem_free_object+0x58/0x1c8
   [<ffff000008504d64>] drm_gem_object_free+0x1c/0x58
   [<ffff000008504f04>] drm_gem_object_unreference_unlocked+0x164/0x178
   [<ffff000008504f7c>] drm_gem_object_handle_unreference_unlocked+0x64/0xb0
   [<ffff00000850501c>] drm_gem_object_release_handle+0x54/0x98
   [<ffff0000083b9e08>] idr_for_each+0xd0/0x130
   [<ffff000008504cec>] drm_gem_release+0x24/0x38
   [<ffff0000085040a4>] drm_release+0x25c/0x348
   [<ffff0000081e9874>] __fput+0x84/0x1b0
   [<ffff0000081e9a04>] ____fput+0xc/0x18
   [<ffff0000080d8bf0>] task_work_run+0xc8/0xe8
   [<ffff0000080bdba8>] do_exit+0x2d8/0xa00
   [<ffff0000080be338>] do_group_exit+0x38/0xa0
   [<ffff0000080be3b0>] __wake_up_parent+0x0/0x28
   [<ffff000008084f30>] el0_svc_naked+0x24/0x28

the dependencies between the lock to be acquired and RECLAIM_FS-irq-unsafe lock:
-> (prepare_lock){+.+.+.} ops: 11866 {
   HARDIRQ-ON-W at:
                    [<ffff000008105778>] mark_lock+0x1c0/0x6c0
                    [<ffff000008105ce8>] mark_held_locks+0x70/0xb0
                    [<ffff000008105db8>] trace_hardirqs_on_caller+0x90/0x180
                    [<ffff000008105eb8>] trace_hardirqs_on+0x10/0x18
                    [<ffff000008ac55bc>] mutex_trylock+0x124/0x1f0
                    [<ffff0000087e6510>] clk_prepare_lock+0x20/0xe0
                    [<ffff0000087e8958>] __clk_create_clk.part.12+0x50/0xa0
                    [<ffff0000087e9510>] clk_register+0x190/0x5f8
                    [<ffff0000087e9be0>] devm_clk_register+0x48/0xa0
                    [<ffff0000087eeacc>] _qcom_cc_register_board_clk+0xc4/0x128
                    [<ffff0000087eece4>] qcom_cc_register_board_clk+0x54/0x68
                    [<ffff0000087f49c4>] gcc_msm8916_probe+0x34/0x70
                    [<ffff00000855dc0c>] platform_drv_probe+0x74/0xe0
                    [<ffff00000855c5c4>] driver_probe_device+0x1fc/0x2a8
                    [<ffff00000855c7bc>] __device_attach_driver+0x94/0xd8
                    [<ffff00000855abe0>] bus_for_each_drv+0x58/0x98
                    [<ffff00000855c284>] __device_attach+0xcc/0x140
                    [<ffff00000855c838>] device_initial_probe+0x10/0x18
                    [<ffff00000855ae64>] bus_probe_device+0x94/0xa0
                    [<ffff000008559a2c>] device_add+0x354/0x548
                    [<ffff0000087da5a4>] of_device_add+0x5c/0x70
                    [<ffff0000087db000>] of_platform_device_create_pdata+0x90/0xf0
                    [<ffff0000087db12c>] of_platform_bus_create+0xcc/0x328
                    [<ffff0000087db16c>] of_platform_bus_create+0x10c/0x328
                    [<ffff0000087db4d4>] of_platform_populate+0x4c/0xb0
                    [<ffff000008e1345c>] arm64_device_init+0x30/0x58
                    [<ffff000008e10c7c>] do_one_initcall+0x84/0x118
                    [<ffff000008e10e54>] kernel_init_freeable+0x144/0x1e8
                    [<ffff000008abe188>] kernel_init+0x10/0x100
                    [<ffff000008084ed0>] ret_from_fork+0x10/0x40
   SOFTIRQ-ON-W at:
                    [<ffff000008105778>] mark_lock+0x1c0/0x6c0
                    [<ffff000008105ce8>] mark_held_locks+0x70/0xb0
                    [<ffff000008105e0c>] trace_hardirqs_on_caller+0xe4/0x180
                    [<ffff000008105eb8>] trace_hardirqs_on+0x10/0x18
                    [<ffff000008ac55bc>] mutex_trylock+0x124/0x1f0
                    [<ffff0000087e6510>] clk_prepare_lock+0x20/0xe0
                    [<ffff0000087e8958>] __clk_create_clk.part.12+0x50/0xa0
                    [<ffff0000087e9510>] clk_register+0x190/0x5f8
                    [<ffff0000087e9be0>] devm_clk_register+0x48/0xa0
                    [<ffff0000087eeacc>] _qcom_cc_register_board_clk+0xc4/0x128
                    [<ffff0000087eece4>] qcom_cc_register_board_clk+0x54/0x68
                    [<ffff0000087f49c4>] gcc_msm8916_probe+0x34/0x70
                    [<ffff00000855dc0c>] platform_drv_probe+0x74/0xe0
                    [<ffff00000855c5c4>] driver_probe_device+0x1fc/0x2a8
                    [<ffff00000855c7bc>] __device_attach_driver+0x94/0xd8
                    [<ffff00000855abe0>] bus_for_each_drv+0x58/0x98
                    [<ffff00000855c284>] __device_attach+0xcc/0x140
                    [<ffff00000855c838>] device_initial_probe+0x10/0x18
                    [<ffff00000855ae64>] bus_probe_device+0x94/0xa0
                    [<ffff000008559a2c>] device_add+0x354/0x548
                    [<ffff0000087da5a4>] of_device_add+0x5c/0x70
                    [<ffff0000087db000>] of_platform_device_create_pdata+0x90/0xf0
                    [<ffff0000087db12c>] of_platform_bus_create+0xcc/0x328
                    [<ffff0000087db16c>] of_platform_bus_create+0x10c/0x328
                    [<ffff0000087db4d4>] of_platform_populate+0x4c/0xb0
                    [<ffff000008e1345c>] arm64_device_init+0x30/0x58
                    [<ffff000008e10c7c>] do_one_initcall+0x84/0x118
                    [<ffff000008e10e54>] kernel_init_freeable+0x144/0x1e8
                    [<ffff000008abe188>] kernel_init+0x10/0x100
                    [<ffff000008084ed0>] ret_from_fork+0x10/0x40
   RECLAIM_FS-ON-W at:
                       [<ffff000008105778>] mark_lock+0x1c0/0x6c0
                       [<ffff000008105ce8>] mark_held_locks+0x70/0xb0
                       [<ffff000008106360>] lockdep_trace_alloc+0x70/0xc8
                       [<ffff0000081cc718>] __kmalloc+0x50/0x260
                       [<ffff000008479438>] qcom_rpm_smd_write+0x50/0x168
                       [<ffff0000087f5790>] clk_smd_rpm_set_rate_active+0x58/0x60
                       [<ffff0000087f5938>] clk_smd_rpm_prepare+0x78/0x108
                       [<ffff0000087e68d4>] clk_core_prepare+0x9c/0xc0
                       [<ffff0000087e8c68>] clk_prepare+0x20/0x50
                       [<ffff00000847fb34>] enable_nodeclk.isra.4.part.5+0x1c/0x98
                       [<ffff0000084805fc>] msm_bus_dev_init_qos+0x13c/0x308
                       [<ffff00000855a6a0>] bus_for_each_dev+0x60/0xa0
                       [<ffff000008480138>] msm_bus_device_probe+0x478/0x800
                       [<ffff00000855dc0c>] platform_drv_probe+0x74/0xe0
                       [<ffff00000855c5c4>] driver_probe_device+0x1fc/0x2a8
                       [<ffff00000855c724>] __driver_attach+0xb4/0xb8
                       [<ffff00000855a6a0>] bus_for_each_dev+0x60/0xa0
                       [<ffff00000855c860>] driver_attach+0x20/0x28
                       [<ffff00000855b098>] bus_add_driver+0x110/0x228
                       [<ffff00000855cfb0>] driver_register+0x60/0xf8
                       [<ffff00000855e884>] __platform_driver_register+0x44/0x50
                       [<ffff000008e36bf8>] msm_bus_device_init_driver+0x2c/0x64
                       [<ffff000008e10c7c>] do_one_initcall+0x84/0x118
                       [<ffff000008e10e54>] kernel_init_freeable+0x144/0x1e8
                       [<ffff000008abe188>] kernel_init+0x10/0x100
                       [<ffff000008084ed0>] ret_from_fork+0x10/0x40
   INITIAL USE at:
                   [<ffff000008105778>] mark_lock+0x1c0/0x6c0
                   [<ffff0000081074b4>] __lock_acquire+0x2cc/0x18d8
                   [<ffff000008108e0c>] lock_acquire+0x4c/0x68
                   [<ffff000008ac5590>] mutex_trylock+0xf8/0x1f0
                   [<ffff0000087e6510>] clk_prepare_lock+0x20/0xe0
                   [<ffff0000087e8958>] __clk_create_clk.part.12+0x50/0xa0
                   [<ffff0000087e9510>] clk_register+0x190/0x5f8
                   [<ffff0000087e9984>] clk_hw_register+0xc/0x20
                   [<ffff0000087eb76c>] clk_hw_register_fixed_rate_with_accuracy+0x94/0xe0
                   [<ffff0000087eb83c>] of_fixed_clk_setup+0x84/0xb8
                   [<ffff000008e48858>] of_clk_init+0x154/0x1e4
                   [<ffff000008e139f4>] time_init+0x10/0x44
                   [<ffff000008e10ab0>] start_kernel+0x254/0x39c
                   [<ffff000008e101bc>] __primary_switched+0x30/0x6c
 }
 ... key      at: [<ffff000008f59d78>] prepare_lock+0x60/0x80
 ... acquired at:
   [<ffff000008105284>] check_usage+0x43c/0x5c0
   [<ffff000008105460>] check_irq_usage+0x58/0xc8
   [<ffff000008108230>] __lock_acquire+0x1048/0x18d8
   [<ffff000008108e0c>] lock_acquire+0x4c/0x68
   [<ffff000008ac36d4>] mutex_lock_nested+0x54/0x390
   [<ffff0000087e6538>] clk_prepare_lock+0x48/0xe0
   [<ffff0000087e8c60>] clk_prepare+0x18/0x50
   [<ffff0000084e98b8>] __enable_clocks+0x20/0xc0
   [<ffff0000084e9d94>] msm_iommu_unmap+0x84/0x130
   [<ffff0000084e4c30>] iommu_unmap+0x98/0xf0
   [<ffff000008546ac8>] msm_iommu_unmap+0x70/0xa8
   [<ffff0000085422d4>] put_iova+0x7c/0x90
   [<ffff000008543888>] msm_gem_free_object+0x58/0x1c8
   [<ffff000008504d64>] drm_gem_object_free+0x1c/0x58
   [<ffff000008504f04>] drm_gem_object_unreference_unlocked+0x164/0x178
   [<ffff000008504f7c>] drm_gem_object_handle_unreference_unlocked+0x64/0xb0
   [<ffff00000850501c>] drm_gem_object_release_handle+0x54/0x98
   [<ffff0000083b9e08>] idr_for_each+0xd0/0x130
   [<ffff000008504cec>] drm_gem_release+0x24/0x38
   [<ffff0000085040a4>] drm_release+0x25c/0x348
   [<ffff0000081e9874>] __fput+0x84/0x1b0
   [<ffff0000081e9a04>] ____fput+0xc/0x18
   [<ffff0000080d8bf0>] task_work_run+0xc8/0xe8
   [<ffff0000080bdba8>] do_exit+0x2d8/0xa00
   [<ffff0000080be338>] do_group_exit+0x38/0xa0
   [<ffff0000080be3b0>] __wake_up_parent+0x0/0x28
   [<ffff000008084f30>] el0_svc_naked+0x24/0x28

stack backtrace:
CPU: 1 PID: 2068 Comm: bootanimation Not tainted 4.7.0-rc7+ #520
Hardware name: Qualcomm Technologies, Inc. APQ 8016 SBC (DT)
Call trace:
[<ffff000008088be8>] dump_backtrace+0x0/0x1a8
[<ffff000008088da4>] show_stack+0x14/0x20
[<ffff0000083b8234>] dump_stack+0xb4/0xf0
[<ffff0000081052a4>] check_usage+0x45c/0x5c0
[<ffff000008105460>] check_irq_usage+0x58/0xc8
[<ffff000008108230>] __lock_acquire+0x1048/0x18d8
[<ffff000008108e0c>] lock_acquire+0x4c/0x68
[<ffff000008ac36d4>] mutex_lock_nested+0x54/0x390
[<ffff0000087e6538>] clk_prepare_lock+0x48/0xe0
[<ffff0000087e8c60>] clk_prepare+0x18/0x50
[<ffff0000084e98b8>] __enable_clocks+0x20/0xc0
[<ffff0000084e9d94>] msm_iommu_unmap+0x84/0x130
[<ffff0000084e4c30>] iommu_unmap+0x98/0xf0
[<ffff000008546ac8>] msm_iommu_unmap+0x70/0xa8
[<ffff0000085422d4>] put_iova+0x7c/0x90
[<ffff000008543888>] msm_gem_free_object+0x58/0x1c8
[<ffff000008504d64>] drm_gem_object_free+0x1c/0x58
[<ffff000008504f04>] drm_gem_object_unreference_unlocked+0x164/0x178
[<ffff000008504f7c>] drm_gem_object_handle_unreference_unlocked+0x64/0xb0
[<ffff00000850501c>] drm_gem_object_release_handle+0x54/0x98
[<ffff0000083b9e08>] idr_for_each+0xd0/0x130
[<ffff000008504cec>] drm_gem_release+0x24/0x38
[<ffff0000085040a4>] drm_release+0x25c/0x348
[<ffff0000081e9874>] __fput+0x84/0x1b0
[<ffff0000081e9a04>] ____fput+0xc/0x18
[<ffff0000080d8bf0>] task_work_run+0xc8/0xe8
[<ffff0000080bdba8>] do_exit+0x2d8/0xa00
[<ffff0000080be338>] do_group_exit+0x38/0xa0
[<ffff0000080be3b0>] __wake_up_parent+0x0/0x28
[<ffff000008084f30>] el0_svc_naked+0x24/0x28

Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
Signed-off-by: default avatarArchit Taneja <architt@codeaurora.org>
parent ef091e25
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment