s_register was assigning the return code to (unsigned)reg->val, rather than
errCode, which it what it would return. Except reg->val can't be < 0, so it
would never actually return an error.
g_register never actually put the value it read into reg->val.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
__FUNCTION__, errCode);
return errCode;
}
+ reg->val = errCode;
return 0;
}
if (!v4l2_chip_match_host(reg->match_type, reg->match_chip))
return -EINVAL;
/* NT100x has a 8-bit register space */
- reg->val = (u8)usbvision_write_reg(usbvision, reg->reg&0xff, reg->val);
- if (reg->val < 0) {
+ errCode = usbvision_write_reg(usbvision, reg->reg&0xff, reg->val);
+ if (errCode < 0) {
err("%s: VIDIOC_DBG_S_REGISTER failed: error %d",
__FUNCTION__, errCode);
return errCode;