Re: [PATCH] staging: iio: ad2s1200: Fix sign extension

From: Lars-Peter Clausen
Date: Fri Jan 23 2015 - 03:56:20 EST


On 01/23/2015 12:09 AM, Rasmus Villemoes wrote:
The line above makes vel a 12-bit quantity (st->rx[] is u8). The
intention is to sign-extend vel using bit 11 as the sign bit. But
because of C's promotion rules "vel = (vel << 4) >> 4;" is actually a
no-op, since vel is promoted to int before the inner
shift. sign_extend32 works equally well for 8 and 16 bits types, so
use that.

Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>

Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/