[media] gspca_kinect: fix kinect_read() error path
The error checking code relative to the invocations of kinect_read() does not return the actual return code of the function just called, it returns "res" which still contains the value of the last invocation of a previous kinect_write(). Return the proper value, and while at it also report with -EREMOTEIO the case of a partial transfer. Reported-by: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Antonio Ospite <ospite@studenti.unina.it> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
This commit is contained in:
parent
340a30c514
commit
840d94eace
|
@ -158,7 +158,7 @@ static int send_cmd(struct gspca_dev *gspca_dev, uint16_t cmd, void *cmdbuf,
|
|||
PDEBUG(D_USBO, "Control reply: %d", res);
|
||||
if (actual_len < sizeof(*rhdr)) {
|
||||
pr_err("send_cmd: Input control transfer failed (%d)\n", res);
|
||||
return res;
|
||||
return actual_len < 0 ? actual_len : -EREMOTEIO;
|
||||
}
|
||||
actual_len -= sizeof(*rhdr);
|
||||
|
||||
|
|
Loading…
Reference in New Issue