cpufreq: interactive: fix possible Division by zero.
The following dump was seen sometimes while resuming,
the only division by zero on this function can happen after
delta_time is reassigned, since at the start of the
function, there is jump that protects against values
less than 1000.
After that, If delta_time and delta_idle == 0,
we will hit a div 0
Division by zero in kernel.
Backtrace:
[<
c0057184>] (dump_backtrace+0x0/0x110) from [<
c05d5ecc>] (dump_stack+0x18/0x1c)
r6:
010f3000 r5:
c113dfb0 r4:
c004afb0 r3:
c6ff0000
[<
c05d5eb4>] (dump_stack+0x0/0x1c) from [<
c00572cc>] (__div0+0x1c/0x20)
[<
c00572b0>] (__div0+0x0/0x20) from [<
c02195d4>] (Ldiv0+0x8/0x10)
[<
c03dfd64>] (cpufreq_interactive_timer+0x0/0x2c0) from [<
c00a7efc>] (run_timer_softirq+0x154/0x260)
[<
c00a7da8>] (run_timer_softirq+0x0/0x260) from [<
c00a0c8c>] (__do_softirq+0xc8/0x194)
[<
c00a0bc4>] (__do_softirq+0x0/0x194) from [<
c00a1008>] (irq_exit+0xb4/0xb8)
[<
c00a0f54>] (irq_exit+0x0/0xb8) from [<
c00584b4>] (ipi_timer+0x44/0x48)
r4:
c004a040 r3:
00000001
[<
c0058470>] (ipi_timer+0x0/0x48) from [<
c004c3e4>] (do_local_timer+0x68/0x84)
r5:
c004ae2c r4:
c07991e8
[<
c004c37c>] (do_local_timer+0x0/0x84) from [<
c0052948>] (__irq_svc+0x48/0xe0)
Change-Id: I639882db67b8d711c5710778ebc212f0f6a998e3
Acked-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Axel Haslam <axelhaslam@ti.com>