Files
linux/kernel
Tao Zeng 2213e5d17f cpuhotplug: offline workqueue before close cpu [1/1]
PD#TV-7079

Problem:
Deadlock happened when burning cpu at high temperature.
 1486                        1916
schedule                    schedule
schedule_preempt_disabled   schedule_timeout
__mutex_lock_slowpath       wait_for_common
mutex_lock                  wait_for_completion

cpu_hotplug_set_max --wait hpg.mutex

                            cpuhp_kick_ap_work   --wait flush work
cpufreq_set_max_cpu_num     _cpu_down            --hold hpg.mutex
cpucore_set_cur_state       do_cpu_down
thermal_cdev_update         cpu_down
power_actor_set_power       cpu_subsys_offline
power_allocator_throttle    device_offline
handle_thermal_trip         cpu_hotplug_thread
thermal_zone_device_update  kthread
thermal_zone_device_check   ret_from_fork
process_one_work
worker_thread    --It's a work
kthread
ret_from_fork

Solution:
Close work queue before hold lock

Verify:
T972

Change-Id: I557281a1674bd67472b0655e4f1ba409ffead42f
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
2020-12-17 17:14:58 +09:00
..
2018-05-09 12:28:25 +02:00
2018-05-30 13:19:56 +02:00
2018-05-30 13:19:56 +02:00
2017-09-02 07:07:53 +02:00
2018-07-11 16:40:16 +02:00
2016-01-22 18:04:28 -05:00
2016-04-04 09:46:47 -04:00
2018-05-01 16:49:34 +00:00
2017-10-12 22:31:24 +02:00
2015-04-12 21:03:31 +02:00
2015-11-23 09:44:58 +01:00
2018-02-26 09:18:03 +01:00
2016-02-16 13:04:58 -05:00
2017-05-20 14:28:40 +02:00
2015-01-17 10:02:23 +13:00
2016-03-01 20:36:56 +01:00
2018-05-30 13:19:56 +02:00
2018-05-09 09:50:20 +02:00
2018-04-03 11:15:30 -07:00
2016-09-22 20:00:36 -05:00
2018-05-09 19:39:28 -07:00
2018-05-09 19:39:28 -07:00