diff options
author | Johan Hovold <jhovold@gmail.com> | 2014-05-26 13:23:35 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-05-27 18:04:08 -0400 |
commit | 90419cfcb5d9c889b10dc51363c56a4d394d670e (patch) | |
tree | 390213556cc81e0a167ac4e200aa59b11f2eb619 /drivers/usb/serial | |
parent | 3fff3b4343f45963c087976c772348f3051a40ee (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.c | 22 |
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 | ); |