linux-stable/drivers/devfreq
Brian Norris cb1be1d4be PM / devfreq: rk3399_dmc: Disable edev on remove()
[ Upstream commit 2fccf9e605 ]

Otherwise we hit an unablanced enable-count when unbinding the DFI
device:

[ 1279.659119] ------------[ cut here ]------------
[ 1279.659179] WARNING: CPU: 2 PID: 5638 at drivers/devfreq/devfreq-event.c:360 devfreq_event_remove_edev+0x84/0x8c
...
[ 1279.659352] Hardware name: Google Kevin (DT)
[ 1279.659363] pstate: 80400005 (Nzcv daif +PAN -UAO -TCO BTYPE=--)
[ 1279.659371] pc : devfreq_event_remove_edev+0x84/0x8c
[ 1279.659380] lr : devm_devfreq_event_release+0x1c/0x28
...
[ 1279.659571] Call trace:
[ 1279.659582]  devfreq_event_remove_edev+0x84/0x8c
[ 1279.659590]  devm_devfreq_event_release+0x1c/0x28
[ 1279.659602]  release_nodes+0x1cc/0x244
[ 1279.659611]  devres_release_all+0x44/0x60
[ 1279.659621]  device_release_driver_internal+0x11c/0x1ac
[ 1279.659629]  device_driver_detach+0x20/0x2c
[ 1279.659641]  unbind_store+0x7c/0xb0
[ 1279.659650]  drv_attr_store+0x2c/0x40
[ 1279.659663]  sysfs_kf_write+0x44/0x58
[ 1279.659672]  kernfs_fop_write_iter+0xf4/0x190
[ 1279.659684]  vfs_write+0x2b0/0x2e4
[ 1279.659693]  ksys_write+0x80/0xec
[ 1279.659701]  __arm64_sys_write+0x24/0x30
[ 1279.659714]  el0_svc_common+0xf0/0x1d8
[ 1279.659724]  do_el0_svc_compat+0x28/0x3c
[ 1279.659738]  el0_svc_compat+0x10/0x1c
[ 1279.659746]  el0_sync_compat_handler+0xa8/0xcc
[ 1279.659758]  el0_sync_compat+0x188/0x1c0
[ 1279.659768] ---[ end trace cec200e5094155b4 ]---

Signed-off-by: Brian Norris <briannorris@chromium.org>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-06-09 10:22:41 +02:00
..
event PM / devfreq: exynos: Rename Exynos to lowercase 2020-01-06 10:50:09 +09:00
devfreq-event.c PM / devfreq: event: Change prototype of devfreq_event_get_edev_by_phandle function 2020-09-29 17:50:10 +09:00
devfreq.c devfreq: use HZ macros 2021-09-08 11:50:26 -07:00
exynos-bus.c Merge branches 'pm-devfreq' and 'pm-tools' 2020-12-15 15:27:16 +01:00
governor.h PM / devfreq: Remove the invalid description for get_target_freq 2021-04-08 13:14:51 +09:00
governor_passive.c PM / devfreq: passive: Fix get_target_freq when not using required-opp 2021-06-24 10:37:35 +09:00
governor_performance.c
governor_powersave.c
governor_simpleondemand.c PM / devfreq: Add governor attribute flag for specifc sysfs nodes 2020-10-26 11:46:54 +09:00
governor_userspace.c PM / devfreq: userspace: Use DEVICE_ATTR_RW macro 2021-06-17 17:08:46 +09:00
imx-bus.c PM / devfreq: imx-bus: Remove imx_bus_get_dev_status 2021-05-21 13:16:10 +09:00
imx8m-ddrc.c PM / devfreq: imx8m-ddrc: Remove unneeded of_match_ptr() 2021-04-08 13:14:51 +09:00
Kconfig PM / devfreq: imx8m-ddrc: Remove DEVFREQ_GOV_SIMPLE_ONDEMAND dependency 2021-05-21 13:16:21 +09:00
Makefile PM / devfreq: tegra20: Deprecate in a favor of emc-stat based driver 2020-11-23 16:01:13 +09:00
rk3399_dmc.c PM / devfreq: rk3399_dmc: Disable edev on remove() 2022-06-09 10:22:41 +02:00
tegra30-devfreq.c PM / devfreq: tegra30: Support thermal cooling 2021-05-21 13:16:10 +09:00