aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial
diff options
context:
space:
mode:
authorJohan Hovold <jhovold@gmail.com>2014-05-26 13:23:35 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-05-27 18:04:08 -0400
commit90419cfcb5d9c889b10dc51363c56a4d394d670e (patch)
tree390213556cc81e0a167ac4e200aa59b11f2eb619 /drivers/usb/serial
parent3fff3b4343f45963c087976c772348f3051a40ee (diff)
USB: kobil_sct: fix control requests without data stage
Fix incorrect pipe directions and remove bogus data buffer arguments from control requests without data stage. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/serial')
-rw-r--r--drivers/usb/serial/kobil_sct.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/drivers/usb/serial/kobil_sct.c b/drivers/usb/serial/kobil_sct.c
index fee242387f55..078f9ed419c8 100644
--- a/drivers/usb/serial/kobil_sct.c
+++ b/drivers/usb/serial/kobil_sct.c
@@ -215,13 +215,13 @@ static int kobil_open(struct tty_struct *tty, struct usb_serial_port *port)
215 priv->device_type == KOBIL_ADAPTER_K_PRODUCT_ID) { 215 priv->device_type == KOBIL_ADAPTER_K_PRODUCT_ID) {
216 /* Setting Baudrate, Parity and Stopbits */ 216 /* Setting Baudrate, Parity and Stopbits */
217 result = usb_control_msg(port->serial->dev, 217 result = usb_control_msg(port->serial->dev,
218 usb_rcvctrlpipe(port->serial->dev, 0), 218 usb_sndctrlpipe(port->serial->dev, 0),
219 SUSBCRequest_SetBaudRateParityAndStopBits, 219 SUSBCRequest_SetBaudRateParityAndStopBits,
220 USB_TYPE_VENDOR | USB_RECIP_ENDPOINT | USB_DIR_OUT, 220 USB_TYPE_VENDOR | USB_RECIP_ENDPOINT | USB_DIR_OUT,
221 SUSBCR_SBR_9600 | SUSBCR_SPASB_EvenParity | 221 SUSBCR_SBR_9600 | SUSBCR_SPASB_EvenParity |
222 SUSBCR_SPASB_1StopBit, 222 SUSBCR_SPASB_1StopBit,
223 0, 223 0,
224 transfer_buffer, 224 NULL,
225 0, 225 0,
226 KOBIL_TIMEOUT 226 KOBIL_TIMEOUT
227 ); 227 );
@@ -229,12 +229,12 @@ static int kobil_open(struct tty_struct *tty, struct usb_serial_port *port)
229 229
230 /* reset all queues */ 230 /* reset all queues */
231 result = usb_control_msg(port->serial->dev, 231 result = usb_control_msg(port->serial->dev,
232 usb_rcvctrlpipe(port->serial->dev, 0), 232 usb_sndctrlpipe(port->serial->dev, 0),
233 SUSBCRequest_Misc, 233 SUSBCRequest_Misc,
234 USB_TYPE_VENDOR | USB_RECIP_ENDPOINT | USB_DIR_OUT, 234 USB_TYPE_VENDOR | USB_RECIP_ENDPOINT | USB_DIR_OUT,
235 SUSBCR_MSC_ResetAllQueues, 235 SUSBCR_MSC_ResetAllQueues,
236 0, 236 0,
237 transfer_buffer, 237 NULL,
238 0, 238 0,
239 KOBIL_TIMEOUT 239 KOBIL_TIMEOUT
240 ); 240 );
@@ -445,12 +445,12 @@ static int kobil_tiocmset(struct tty_struct *tty,
445 else 445 else
446 dev_dbg(dev, "%s - Clearing DTR\n", __func__); 446 dev_dbg(dev, "%s - Clearing DTR\n", __func__);
447 result = usb_control_msg(port->serial->dev, 447 result = usb_control_msg(port->serial->dev,
448 usb_rcvctrlpipe(port->serial->dev, 0), 448 usb_sndctrlpipe(port->serial->dev, 0),
449 SUSBCRequest_SetStatusLinesOrQueues, 449 SUSBCRequest_SetStatusLinesOrQueues,
450 USB_TYPE_VENDOR | USB_RECIP_ENDPOINT | USB_DIR_OUT, 450 USB_TYPE_VENDOR | USB_RECIP_ENDPOINT | USB_DIR_OUT,
451 ((dtr != 0) ? SUSBCR_SSL_SETDTR : SUSBCR_SSL_CLRDTR), 451 ((dtr != 0) ? SUSBCR_SSL_SETDTR : SUSBCR_SSL_CLRDTR),
452 0, 452 0,
453 transfer_buffer, 453 NULL,
454 0, 454 0,
455 KOBIL_TIMEOUT); 455 KOBIL_TIMEOUT);
456 } else { 456 } else {
@@ -459,12 +459,12 @@ static int kobil_tiocmset(struct tty_struct *tty,
459 else 459 else
460 dev_dbg(dev, "%s - Clearing RTS\n", __func__); 460 dev_dbg(dev, "%s - Clearing RTS\n", __func__);
461 result = usb_control_msg(port->serial->dev, 461 result = usb_control_msg(port->serial->dev,
462 usb_rcvctrlpipe(port->serial->dev, 0), 462 usb_sndctrlpipe(port->serial->dev, 0),
463 SUSBCRequest_SetStatusLinesOrQueues, 463 SUSBCRequest_SetStatusLinesOrQueues,
464 USB_TYPE_VENDOR | USB_RECIP_ENDPOINT | USB_DIR_OUT, 464 USB_TYPE_VENDOR | USB_RECIP_ENDPOINT | USB_DIR_OUT,
465 ((rts != 0) ? SUSBCR_SSL_SETRTS : SUSBCR_SSL_CLRRTS), 465 ((rts != 0) ? SUSBCR_SSL_SETRTS : SUSBCR_SSL_CLRRTS),
466 0, 466 0,
467 transfer_buffer, 467 NULL,
468 0, 468 0,
469 KOBIL_TIMEOUT); 469 KOBIL_TIMEOUT);
470 } 470 }
@@ -514,7 +514,7 @@ static void kobil_set_termios(struct tty_struct *tty,
514 tty_encode_baud_rate(tty, speed, speed); 514 tty_encode_baud_rate(tty, speed, speed);
515 515
516 result = usb_control_msg(port->serial->dev, 516 result = usb_control_msg(port->serial->dev,
517 usb_rcvctrlpipe(port->serial->dev, 0), 517 usb_sndctrlpipe(port->serial->dev, 0),
518 SUSBCRequest_SetBaudRateParityAndStopBits, 518 SUSBCRequest_SetBaudRateParityAndStopBits,
519 USB_TYPE_VENDOR | USB_RECIP_ENDPOINT | USB_DIR_OUT, 519 USB_TYPE_VENDOR | USB_RECIP_ENDPOINT | USB_DIR_OUT,
520 urb_val, 520 urb_val,
@@ -546,12 +546,12 @@ static int kobil_ioctl(struct tty_struct *tty,
546 return -ENOBUFS; 546 return -ENOBUFS;
547 547
548 result = usb_control_msg(port->serial->dev, 548 result = usb_control_msg(port->serial->dev,
549 usb_rcvctrlpipe(port->serial->dev, 0), 549 usb_sndctrlpipe(port->serial->dev, 0),
550 SUSBCRequest_Misc, 550 SUSBCRequest_Misc,
551 USB_TYPE_VENDOR | USB_RECIP_ENDPOINT | USB_DIR_OUT, 551 USB_TYPE_VENDOR | USB_RECIP_ENDPOINT | USB_DIR_OUT,
552 SUSBCR_MSC_ResetAllQueues, 552 SUSBCR_MSC_ResetAllQueues,
553 0, 553 0,
554 NULL, /* transfer_buffer, */ 554 NULL,
555 0, 555 0,
556 KOBIL_TIMEOUT 556 KOBIL_TIMEOUT
557 ); 557 );