diff options
-rw-r--r-- | drivers/usb/serial/quatech2.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/drivers/usb/serial/quatech2.c b/drivers/usb/serial/quatech2.c index bd1a1307e0f0..1d17779b2203 100644 --- a/drivers/usb/serial/quatech2.c +++ b/drivers/usb/serial/quatech2.c | |||
@@ -188,22 +188,22 @@ static inline int qt2_setdevice(struct usb_device *dev, u8 *data) | |||
188 | } | 188 | } |
189 | 189 | ||
190 | 190 | ||
191 | static inline int qt2_getdevice(struct usb_device *dev, u8 *data) | ||
192 | { | ||
193 | return usb_control_msg(dev, usb_rcvctrlpipe(dev, 0), | ||
194 | QT_SET_GET_DEVICE, 0xc0, 0, 0, | ||
195 | data, 3, QT2_USB_TIMEOUT); | ||
196 | } | ||
197 | |||
198 | static inline int qt2_getregister(struct usb_device *dev, | 191 | static inline int qt2_getregister(struct usb_device *dev, |
199 | u8 uart, | 192 | u8 uart, |
200 | u8 reg, | 193 | u8 reg, |
201 | u8 *data) | 194 | u8 *data) |
202 | { | 195 | { |
203 | return usb_control_msg(dev, usb_rcvctrlpipe(dev, 0), | 196 | int ret; |
204 | QT_SET_GET_REGISTER, 0xc0, reg, | 197 | |
205 | uart, data, sizeof(*data), QT2_USB_TIMEOUT); | 198 | ret = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0), |
199 | QT_SET_GET_REGISTER, 0xc0, reg, | ||
200 | uart, data, sizeof(*data), QT2_USB_TIMEOUT); | ||
201 | if (ret < sizeof(*data)) { | ||
202 | if (ret >= 0) | ||
203 | ret = -EIO; | ||
204 | } | ||
206 | 205 | ||
206 | return ret; | ||
207 | } | 207 | } |
208 | 208 | ||
209 | static inline int qt2_setregister(struct usb_device *dev, | 209 | static inline int qt2_setregister(struct usb_device *dev, |
@@ -372,9 +372,11 @@ static int qt2_open(struct tty_struct *tty, struct usb_serial_port *port) | |||
372 | 0xc0, 0, | 372 | 0xc0, 0, |
373 | device_port, data, 2, QT2_USB_TIMEOUT); | 373 | device_port, data, 2, QT2_USB_TIMEOUT); |
374 | 374 | ||
375 | if (status < 0) { | 375 | if (status < 2) { |
376 | dev_err(&port->dev, "%s - open port failed %i\n", __func__, | 376 | dev_err(&port->dev, "%s - open port failed %i\n", __func__, |
377 | status); | 377 | status); |
378 | if (status >= 0) | ||
379 | status = -EIO; | ||
378 | kfree(data); | 380 | kfree(data); |
379 | return status; | 381 | return status; |
380 | } | 382 | } |