linux/drivers
Tao Huang 197a2d322a soc: rockchip: opp_select: add missing rcu lock
===============================
[ INFO: suspicious RCU usage. ]
4.4.120 #194 Not tainted
-------------------------------
drivers/base/power/opp/core.c:453 Missing rcu_read_lock() or opp_table_lock protection!

other info that might help us debug this:

rcu_scheduler_active = 1, debug_locks = 1
3 locks held by swapper/0/1:
 #0:  (&dev->mutex){......}, at: [<ffffff80082bf1e0>] __device_attach+0x28/0x104
 #1:  (cpu_hotplug.lock){++++++}, at: [<ffffff800809aac0>] get_online_cpus+0x38/0x9c
 #2:  (subsys mutex#6){+.+.+.}, at: [<ffffff80082be46c>] subsys_interface_register+0x38/0xc4

stack backtrace:
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.4.120 #194
Hardware name: Rockchip RK3308 evb digital-pdm mic board (DT)
Call trace:
[<ffffff8008087f08>] dump_backtrace+0x0/0x1b8
[<ffffff80080880d4>] show_stack+0x14/0x1c
[<ffffff800820ac14>] dump_stack+0xa8/0xe8
[<ffffff80080d82d8>] lockdep_rcu_suspicious+0xe4/0x10c
[<ffffff80082ce72c>] dev_pm_opp_find_freq_ceil+0x6c/0x108
[<ffffff800824d84c>] rockchip_adjust_opp_by_irdrop+0xf4/0x1e8
[<ffffff80083a66fc>] cpufreq_init+0x134/0x414
[<ffffff80083a0eec>] cpufreq_online+0x1b4/0x68c
[<ffffff80083a1464>] cpufreq_add_dev+0x3c/0x94
[<ffffff80082be4dc>] subsys_interface_register+0xa8/0xc4
[<ffffff80083a1700>] cpufreq_register_driver+0x10c/0x1a8
[<ffffff80083a6aa8>] dt_cpufreq_probe+0xcc/0xe8
[<ffffff80082c0db4>] platform_drv_probe+0x54/0xa8
[<ffffff80082bf478>] driver_probe_device+0x188/0x26c
[<ffffff80082bf694>] __device_attach_driver+0x60/0x9c
[<ffffff80082bda4c>] bus_for_each_drv+0x84/0x94
[<ffffff80082bf264>] __device_attach+0xac/0x104
[<ffffff80082bf80c>] device_initial_probe+0x10/0x18
[<ffffff80082be8e4>] bus_probe_device+0x2c/0x90
[<ffffff80082bcd48>] device_add+0x434/0x4dc
[<ffffff80082c0ad0>] platform_device_add+0xa0/0x1e4
[<ffffff80082c1520>] platform_device_register_full+0xa0/0xe0
[<ffffff800882512c>] rockchip_cpufreq_driver_init+0xb4/0x360
[<ffffff800808312c>] do_one_initcall+0xe8/0x194
[<ffffff8008810cec>] kernel_init_freeable+0x1d0/0x1d4
[<ffffff80085b8fa4>] kernel_init+0x14/0x148
[<ffffff8008082ee0>] ret_from_fork+0x10/0x30

Note: we should use dev_pm_opp_put on new kernel.

Change-Id: I39e85892f6e7994bbe4816d09e4446de5cd25cad
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2018-03-27 19:11:41 +08:00
..
accessibility
acpi Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
adc rk: add SPDX license identifier to files with no license 2018-01-31 20:56:06 +08:00
amba
android Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
ata Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
atm atm: horizon: Fix irq release error 2017-12-16 10:33:55 +01:00
auxdisplay
base LSK 18.02 v4.4-android 2018-02-07 20:59:20 +08:00
bcma UPSTREAM: gpio: change member .dev to .parent 2018-02-28 14:55:00 +08:00
block pktcdvd: Fix pkt_setup_dev() error path 2018-02-16 20:09:47 +01:00
bluetooth Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
bus sunxi-rsb: Include OF based modalias in device uevent 2018-01-10 09:27:09 +01:00
cdrom
char hwrng: exynos - use __maybe_unused to hide pm functions 2018-02-25 11:03:47 +01:00
cir rk: add SPDX license identifier to files with no license 2018-01-31 20:56:06 +08:00
clk clk: rockchip: rk3308: Change pll type to pll_rk3328 2018-03-27 16:53:37 +08:00
clocksource clocksource/arm_global_timer: reconfigure clockevents after cpufreq change 2018-03-06 17:29:54 +08:00
cmmb rk: add SPDX license identifier to files with no license 2018-01-31 20:56:06 +08:00
connector
cpufreq cpufreq: dt: adjust opp-table by board IR-Drop 2018-03-16 17:49:29 +08:00
cpuidle Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2018-01-22 11:50:22 +05:30
crypto crypto: s5p-sss - Fix kernel Oops in AES-ECB mode 2018-02-25 11:03:55 +01:00
dca
devfreq PM / devfreq: adjust opp-table by board IR-Drop 2018-03-16 17:49:29 +08:00
dio
dma Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
dma-buf
edac EDAC, octeon: Fix an uninitialized variable warning 2018-02-16 20:09:47 +01:00
eisa
extcon Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2017-12-01 11:04:13 +08:00
firewire
firmware Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-01-26 19:26:47 +08:00
fmc
fpga
gpio Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
gpu MALI: rockchip: upgrade bifrost DDK to r11p0-01rel0 2018-03-26 16:32:38 +08:00
headset_observe rk: add SPDX license identifier to files with no license 2018-01-31 20:56:06 +08:00
hid Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
hsi
hv Drivers: hv: vmbus: fix build warning 2018-02-25 11:03:46 +01:00
hwmon Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
hwspinlock
hwtracing Merge tag 'v4.4.107' into linux-linaro-lsk-v4.4 2017-12-21 12:06:47 +08:00
i2c Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
ide
idle idle: i7300: add PCI dependency 2018-02-25 11:03:51 +01:00
iio Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
infiniband IB/ipoib: Fix race condition in neigh creation 2018-03-03 10:19:43 +01:00
input drivers: input: sensor: correct accel sensor kxtj9 report value 2018-03-27 11:55:38 +08:00
iommu iommu/rockchip: return -ENODEV when a disabled iommu node is referenced by master 2018-02-09 11:08:29 +08:00
ipack
irqchip Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
isdn isdn: sc: work around type mismatch warning 2018-02-25 11:03:51 +01:00
leds Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
lguest
lightnvm
macintosh
mailbox rk: rm include/linux/rockchip/common.h 2017-11-17 14:55:40 +08:00
mcb
md Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2018-03-05 20:20:17 +05:30
media camera: rockchip: change gc2415 fps to 20fps for the test of cts/vts 2018-03-22 09:52:21 +08:00
memory ARM: OMAP2+: gpmc-onenand: propagate error on initialization failure 2017-12-16 10:33:51 +01:00
memstick
message mptfusion: hide unused seq_mpt_print_ioc_summary function 2018-02-25 11:03:45 +01:00
mfd mfd: rk808: provide a dummy callback for pm_power_off 2018-03-26 14:25:47 +08:00
misc rk: add SPDX license identifier to files with no license 2018-01-31 20:56:06 +08:00
mmc UPSTREAM: mmc: dw_mmc: Fix the DTO/CTO timeout overflow calculation for 32-bit systems 2018-03-07 08:46:47 +08:00
mtd Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
net Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
nfc Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2017-11-02 17:00:07 +08:00
ntb
nubus
nvdimm libnvdimm, namespace: make 'resource' attribute only readable by root 2017-11-30 08:37:23 +00:00
nvme Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
nvmem nvmem: rockchip-otp: Fix section mismatch when compile 2018-02-26 19:57:25 +08:00
of BACKPORT: device property: Introduce fwnode_property_get_reference_args 2017-11-27 14:12:20 +08:00
oprofile
parisc parisc: Hide Diva-built-in serial aux and graphics card 2018-01-02 20:33:20 +01:00
parport
pci Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
pcmcia
perf
phy phy: rockchip-inno-usb2: fix a clang warning 2018-03-26 20:12:52 +08:00
pinctrl pinctrl: rockchip: Add rtc 32k io route data for rk3308 2018-03-24 15:31:26 +08:00
platform Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
pnp
power power: rk816-battery: judge 'is_initialized' firstly 2018-03-26 14:23:13 +08:00
powercap
pps
ps3
ptp
pwm pwm: rockchip: Disable irq for pwm config 2018-03-23 09:23:36 +08:00
rapidio
ras
regulator regulator: remove unused rk29-pwm-regulator 2018-03-23 12:13:36 +08:00
remoteproc
reset
rk_nand drivers: rk_nand: update ftl for rk3226 and px30 2018-03-16 17:49:19 +08:00
rpmsg
rtc Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
s390 s390/dasd: fix wrongly assigned configuration data 2018-03-03 10:19:43 +01:00
sbus
scsi Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2018-03-05 20:20:17 +05:30
sfi
sh
smc rk: add SPDX license identifier to files with no license 2018-01-31 20:56:06 +08:00
sn
soc soc: rockchip: opp_select: add missing rcu lock 2018-03-27 19:11:41 +08:00
spi Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
spmi
ssb ssb: mark ssb_bus_register as __maybe_unused 2018-02-25 11:03:44 +01:00
staging Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
switch rk: add SPDX license identifier to files with no license 2018-01-31 20:56:06 +08:00
target target/user: Fix cast from pointer to phys_addr_t 2018-02-25 11:03:46 +01:00
tc
tee BACKPORT: tee: shm: Potential NULL dereference calling tee_shm_register() 2018-03-05 21:58:40 +05:30
testcode rk: add SPDX license identifier to files with no license 2018-01-31 20:56:06 +08:00
thermal Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
thunderbolt
tty Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
uio
usb UPSTREAM: usb: gadget: u_ether: remove interrupt throttling 2018-03-21 20:50:12 +08:00
uwb uwb: ensure that endpoint is interrupt 2017-10-12 11:27:35 +02:00
vfio
vhost vhost_net: stop device during reset owner 2018-02-16 20:09:38 +01:00
video video: rockchip: vpu: add strict cond for vpu_reset 2018-03-27 14:06:01 +08:00
virt
virtio virtio_balloon: prevent uninitialized variable use 2018-02-25 11:03:42 +01:00
vlynq
vme
w1
watchdog Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00
xen xen/gntdev: Fix partial gntdev_mmap() cleanup 2018-03-03 10:19:45 +01:00
zorro
Kconfig
Makefile Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-03-09 19:10:14 +08:00