kernel: fix an issue with infinite stack traces on MIPS
[oweals/openwrt.git] / target / linux / generic / pending-4.14 / 101-clocksource-mips-gic-timer-fix-clocksource-counter-w.patch
1 From: Felix Fietkau <nbd@nbd.name>
2 Date: Wed, 21 Feb 2018 13:40:12 +0100
3 Subject: [PATCH] clocksource: mips-gic-timer: fix clocksource counter width
4
5 This code needs to use ffs instead of fls on the mask to determine the
6 shift for reading the GIC_CONFIG_COUNTBITS field.
7
8 Fixes: e07127a077c7 ("clocksource: mips-gic-timer: Use new GIC accessor functions")
9 Cc: Paul Burton <paul.burton@imgtec.com>
10 Signed-off-by: Felix Fietkau <nbd@nbd.name>
11 ---
12
13 --- a/drivers/clocksource/mips-gic-timer.c
14 +++ b/drivers/clocksource/mips-gic-timer.c
15 @@ -164,7 +164,7 @@ static int __init __gic_clocksource_init
16  
17         /* Set clocksource mask. */
18         count_width = read_gic_config() & GIC_CONFIG_COUNTBITS;
19 -       count_width >>= __fls(GIC_CONFIG_COUNTBITS);
20 +       count_width >>= __ffs(GIC_CONFIG_COUNTBITS);
21         count_width *= 4;
22         count_width += 32;
23         gic_clocksource.mask = CLOCKSOURCE_MASK(count_width);