fsl_law clear enable before changing.
authorEd Swarthout <Ed.Swarthout@freescale.com>
Thu, 9 Oct 2008 06:25:55 +0000 (01:25 -0500)
committerWolfgang Denk <wd@denx.de>
Sat, 18 Oct 2008 19:54:05 +0000 (21:54 +0200)
Debug sessions may have left enabled laws.
Changing lawbar with an unkown enabled tgtid could cause problems.

Signed-off-by: Ed Swarthout <Ed.Swarthout@freescale.com>
drivers/misc/fsl_law.c

index 64df1c98897f9b360a336c82b3d0fb3877234f40..44c9e91cdbda241671458be0eef47e29fcc67104 100644 (file)
@@ -52,6 +52,7 @@ void set_law(u8 idx, phys_addr_t addr, enum law_size sz, enum law_trgt_if id)
 
        gd->used_laws |= (1 << idx);
 
+       out_be32(lawar, 0);
        out_be32(lawbar, addr >> 12);
        out_be32(lawar, LAWAR_EN | ((u32)id << 20) | (u32)sz);