
24 Jul
2015
24 Jul
'15
3:52 p.m.
The new bitfield value must not be higher than its mask.
Signed-off-by: Codrin Ciubotariu codrin.ciubotariu@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