diff options
author | Viresh Kumar <viresh.kumar@linaro.org> | 2015-07-21 05:31:14 +0300 |
---|---|---|
committer | Daniel Lezcano <daniel.lezcano@linaro.org> | 2015-08-10 12:40:57 +0300 |
commit | 452b13248fe8499b2d9a487999d3610095aecca5 (patch) | |
tree | f9cdd0e2b0d7937d0721ecb2085147fdba12bd88 /drivers/clocksource/sh_tmu.c | |
parent | 005e56272b28193540dcd1dab3dadb3da8375eaf (diff) | |
download | linux-452b13248fe8499b2d9a487999d3610095aecca5.tar.xz |
clocksource/drivers/sh_tmu: Fix traceback spotted in -next
Traceback in -next due to commit 'clockevents/drivers/sh_tmu: Migrate to new
'set-state' interface'.
Commit ("clockevents/drivers/sh_tmu: Migrate to new 'set-state' interface")
in -next causes the following traceback. This is seen with qemu runs for the sh
target.
------------[ cut here ]------------
WARNING: at drivers/clocksource/sh_tmu.c:202
Modules linked in:
CPU: 0 PID: 0 Comm: swapper Not tainted 4.2.0-rc3-next-20150720 #1
task: 8c411ed8 ti: 8c40e000 task.ti: 8c40e000
PC is at sh_tmu_disable+0x40/0x60
PR is at sh_tmu_clock_event_shutdown+0x8/0x20
PC : 8c271220 SP : 8c40ff10 SR : 400081f1 TEA : 00000000
R0 : 8c271240 R1 : 8fc08cfc R2 : 00000000 R3 : 3fffffff
R4 : 8fc08c00 R5 : 00000001 R6 : 00000002 R7 : ffffffff
R8 : 00000001 R9 : 8fc08c20 R10 : 00000000 R11 : 00000000
R12 : 8c012820 R13 : 00000000 R14 : 00000000
MACH: 3b9ac9ff MACL: 80000000 GBR : 00000000 PR : 8c271248
Call trace:
[<8c065836>] clockevents_switch_state+0x16/0x60
[<8c06588c>] clockevents_shutdown+0xc/0x40
[<8c066330>] tick_check_new_device+0x90/0xc0
[<8c065556>] clockevents_register_device+0x56/0x120
[<8c0662a0>] tick_check_new_device+0x0/0xc0
[<8c27167a>] sh_tmu_probe+0x29a/0x4e0
[<8c18a994>] kasprintf+0x14/0x20
[<8c442782>] early_platform_driver_probe+0x20e/0x2bc
[<8c1fade0>] platform_match+0x0/0x100
[<8c33babc>] printk+0x0/0x24
[<8c434892>] start_kernel+0x32e/0x574
[<8c33babc>] printk+0x0/0x24
[<8c17d320>] strlen+0x0/0x58
[<8c43430c>] unknown_bootoption+0x0/0x1e0
[<8c011024>] _stext+0x24/0x30
---[ end trace cb88537fdc8fa200 ]---
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Diffstat (limited to 'drivers/clocksource/sh_tmu.c')
-rw-r--r-- | drivers/clocksource/sh_tmu.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/clocksource/sh_tmu.c b/drivers/clocksource/sh_tmu.c index 43c98143f79a..469e776ec17a 100644 --- a/drivers/clocksource/sh_tmu.c +++ b/drivers/clocksource/sh_tmu.c @@ -362,7 +362,8 @@ static int sh_tmu_clock_event_shutdown(struct clock_event_device *ced) { struct sh_tmu_channel *ch = ced_to_sh_tmu(ced); - sh_tmu_disable(ch); + if (clockevent_state_oneshot(ced) || clockevent_state_periodic(ced)) + sh_tmu_disable(ch); return 0; } |