The new bitfield value must not be higher than its mask. Signed-off-by: Codrin Ciubotariu <codrin.ciubota...@freescale.com> --- include/bitfield.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/bitfield.h b/include/bitfield.h index cffaf7a..a59f3c2 100644 --- a/include/bitfield.h +++ b/include/bitfield.h @@ -60,7 +60,7 @@ static inline uint bitfield_replace(uint reg_val, uint shift, uint width, { uint mask = bitfield_mask(shift, width); - return (reg_val & ~mask) | (bitfield_val << shift); + return (reg_val & ~mask) | ((bitfield_val << shift) & mask); } /* Produces a shift of the bitfield given a mask */ -- 1.9.3 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot