[U-Boot] [PATCH] ARM: cache: Fix incorrect bitwise operation
Simon Goldschmidt
simon.k.r.goldschmidt at gmail.com
Tue Feb 19 08:44:45 UTC 2019
On Tue, Feb 19, 2019 at 1:44 AM Marek Vasut <marex at denx.de> wrote:
>
> The loop implemented in the code is supposed to check whether the
> PL310 operation register has any bit from the mask set. Currently,
> the code checks whether the PL310 operation register has any bit
> set AND whether the mask is non-zero, which is incorrect. Fix the
> conditional.
>
> Signed-off-by: Marek Vasut <marex at denx.de>
> Cc: Dalon Westergreen <dwesterg at gmail.com>
> Cc: Dinh Nguyen <dinguyen at kernel.org>
> Cc: Tom Rini <trini at konsulko.com>
> Fixes: 93bc21930a1b ("armv7: add PL310 support to u-boot")
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt at gmail.com>
> ---
> arch/arm/lib/cache-pl310.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/lib/cache-pl310.c b/arch/arm/lib/cache-pl310.c
> index 1296ba6efd..bbaaaa4157 100644
> --- a/arch/arm/lib/cache-pl310.c
> +++ b/arch/arm/lib/cache-pl310.c
> @@ -33,7 +33,7 @@ static void pl310_background_op_all_ways(u32 *op_reg)
> /* Invalidate all ways */
> writel(way_mask, op_reg);
> /* Wait for all ways to be invalidated */
> - while (readl(op_reg) && way_mask)
> + while (readl(op_reg) & way_mask)
> ;
> pl310_cache_sync();
> }
> --
> 2.19.2
More information about the U-Boot
mailing list