Bug in arch/powerpc/sysdev/fsl_gtm.c
Kumar Gala
galak at kernel.crashing.org
Wed Mar 16 02:53:42 EST 2011
On Feb 16, 2011, at 8:59 AM, Jean-Denis Boyer wrote:
> Hi.
> There is a bug in the function gtm_set_ref_timer16.
> When called, it correctly sets the requested timer,
> but the other timer that shares the register GTCFR is reset.
>
> The parameter 'clear' passed to macro clrsetbits_8 should not be
> a bitwise complement, since the macro already complements it.
>
> Here is a patch that should fix this issue.
>
> --- linux-2.6.35.11/arch/powerpc/sysdev/fsl_gtm.c
> +++ linux/arch/powerpc/sysdev/fsl_gtm.c
> @@ -203,13 +203,10 @@
> spin_lock_irqsave(>m->lock, flags);
>
> /*
> - * Properly reset timers: stop, reset, set up prescalers, reference
> + * Properly set timers: stop, set up prescalers, reference
> * value and clear event register.
> */
> - clrsetbits_8(tmr->gtcfr, ~(GTCFR_STP(num) | GTCFR_RST(num)),
> - GTCFR_STP(num) | GTCFR_RST(num));
> -
> - setbits8(tmr->gtcfr, GTCFR_STP(num));
> + setbits8(tmr->gtcfr, GTCFR_STP(num) | GTCFR_RST(num));
>
> if (tmr->gtpsr)
> out_be16(tmr->gtpsr, psr);
If you'd like this applied please re-send w/proper signed-off-by
- k
More information about the Linuxppc-dev
mailing list