Browse Source

[media] smiapp: Fix determining the need for 8-bit read access

8-bit reads are needed in some cases; however the condition used was wrong.
Regular access (register width) was used if:

	len == SMIAPP_REG_8BIT && !only8

This causes 8-bit read access to be used always. The operator should be ||
instead: regular access can be used for 8-bit reads OR if allowed otherwise.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus 11 years ago
parent
commit
b05cd219ec
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/media/i2c/smiapp/smiapp-regs.c

+ 1 - 1
drivers/media/i2c/smiapp/smiapp-regs.c

@@ -172,7 +172,7 @@ static int __smiapp_read(struct smiapp_sensor *sensor, u32 reg, u32 *val,
 	    && len != SMIAPP_REG_32BIT)
 		return -EINVAL;
 
-	if (len == SMIAPP_REG_8BIT && !only8)
+	if (len == SMIAPP_REG_8BIT || !only8)
 		rval = ____smiapp_read(sensor, (u16)reg, len, val);
 	else
 		rval = ____smiapp_read_8only(sensor, (u16)reg, len, val);