From: Kuninori Morimoto Date: Mon, 23 Feb 2009 15:12:58 +0000 (-0300) Subject: V4L/DVB (10668): ov772x: bit mask operation fix on ov772x_mask_set. X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=66b46e68a52114e7065f0bfd0016276ae5925e70;p=openwrt%2Fstaging%2Fblogic.git V4L/DVB (10668): ov772x: bit mask operation fix on ov772x_mask_set. Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/video/ov772x.c b/drivers/media/video/ov772x.c index 702e61a9c02b..6b18da7c3c0a 100644 --- a/drivers/media/video/ov772x.c +++ b/drivers/media/video/ov772x.c @@ -565,8 +565,11 @@ static int ov772x_mask_set(struct i2c_client *client, u8 set) { s32 val = i2c_smbus_read_byte_data(client, command); + if (val < 0) + return val; + val &= ~mask; - val |= set; + val |= set & mask; return i2c_smbus_write_byte_data(client, command, val); }