aboutsummaryrefslogtreecommitdiff
path: root/drivers/usb/serial/ark3116.c
diff options
context:
space:
mode:
authorAlex Shi <alex.shi@linaro.org>2017-02-27 12:13:50 +0800
committerAlex Shi <alex.shi@linaro.org>2017-02-27 12:13:50 +0800
commit0dbbc74421d25e7d490d7426b38f7942011deb4d (patch)
tree26a9d5968d5d0cd6c8b6fd8dee5cc3fb199e1e6e /drivers/usb/serial/ark3116.c
parente2a316c741e51ce220003d49ea30e25468ca3b0f (diff)
parent3737a5f7223464efed3b0a9da2b045dae28d3a53 (diff)
Diffstat (limited to 'drivers/usb/serial/ark3116.c')
-rw-r--r--drivers/usb/serial/ark3116.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/usb/serial/ark3116.c b/drivers/usb/serial/ark3116.c
index 1532cde8a437..7812052dc700 100644
--- a/drivers/usb/serial/ark3116.c
+++ b/drivers/usb/serial/ark3116.c
@@ -99,10 +99,17 @@ static int ark3116_read_reg(struct usb_serial *serial,
usb_rcvctrlpipe(serial->dev, 0),
0xfe, 0xc0, 0, reg,
buf, 1, ARK_TIMEOUT);
- if (result < 0)
+ if (result < 1) {
+ dev_err(&serial->interface->dev,
+ "failed to read register %u: %d\n",
+ reg, result);
+ if (result >= 0)
+ result = -EIO;
+
return result;
- else
- return buf[0];
+ }
+
+ return buf[0];
}
static inline int calc_divisor(int bps)