summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2018-06-20 08:58:28 +0200
committerKalle Valo <kvalo@codeaurora.org>2018-06-27 18:58:48 +0300
commite7d4a95da86e0b048702765bbdcdc968aaf312e7 (patch)
treeaca184c2f1fae9c18e1eb192d9a9bc3de975bc31 /lib
parentab8d904654e2bb55b2964588700c31f974382894 (diff)
bitfield: fix *_encode_bits()
There's a bug in *_encode_bits() in using ~field_multiplier() for the check whether or not the constant value fits into the field, this is wrong and clearly ~field_mask() was intended. This was triggering for me for both constant and non-constant values. Additionally, make this case actually into an compile error. Declaring the extern function that will never exist with just a warning is pointless as then later we'll just get a link error. While at it, also fix the indentation in those lines I'm touching. Finally, as suggested by Andy Shevchenko, add some tests and for that introduce also u8 helpers. The tests don't compile without the fix, showing that it's necessary. Fixes: 00b0c9b82663 ("Add primitives for manipulating bitfields both in host- and fixed-endian.") Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions