diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/usb/serial/generic.c | 12 | ||||
| -rw-r--r-- | drivers/usb/serial/usb-serial.c | 5 |
2 files changed, 8 insertions, 9 deletions
diff --git a/drivers/usb/serial/generic.c b/drivers/usb/serial/generic.c index b0f1183755c9..f1ea3a33b6e6 100644 --- a/drivers/usb/serial/generic.c +++ b/drivers/usb/serial/generic.c | |||
| @@ -276,7 +276,7 @@ static int usb_serial_generic_write_start(struct usb_serial_port *port) | |||
| 276 | if (port->write_urb_busy) | 276 | if (port->write_urb_busy) |
| 277 | start_io = false; | 277 | start_io = false; |
| 278 | else { | 278 | else { |
| 279 | start_io = (kfifo_len(port->write_fifo) != 0); | 279 | start_io = (kfifo_len(&port->write_fifo) != 0); |
| 280 | port->write_urb_busy = start_io; | 280 | port->write_urb_busy = start_io; |
| 281 | } | 281 | } |
| 282 | spin_unlock_irqrestore(&port->lock, flags); | 282 | spin_unlock_irqrestore(&port->lock, flags); |
| @@ -285,7 +285,7 @@ static int usb_serial_generic_write_start(struct usb_serial_port *port) | |||
| 285 | return 0; | 285 | return 0; |
| 286 | 286 | ||
| 287 | data = port->write_urb->transfer_buffer; | 287 | data = port->write_urb->transfer_buffer; |
| 288 | count = kfifo_out_locked(port->write_fifo, data, port->bulk_out_size, &port->lock); | 288 | count = kfifo_out_locked(&port->write_fifo, data, port->bulk_out_size, &port->lock); |
| 289 | usb_serial_debug_data(debug, &port->dev, __func__, count, data); | 289 | usb_serial_debug_data(debug, &port->dev, __func__, count, data); |
| 290 | 290 | ||
| 291 | /* set up our urb */ | 291 | /* set up our urb */ |
| @@ -345,7 +345,7 @@ int usb_serial_generic_write(struct tty_struct *tty, | |||
| 345 | return usb_serial_multi_urb_write(tty, port, | 345 | return usb_serial_multi_urb_write(tty, port, |
| 346 | buf, count); | 346 | buf, count); |
| 347 | 347 | ||
| 348 | count = kfifo_in_locked(port->write_fifo, buf, count, &port->lock); | 348 | count = kfifo_in_locked(&port->write_fifo, buf, count, &port->lock); |
| 349 | result = usb_serial_generic_write_start(port); | 349 | result = usb_serial_generic_write_start(port); |
| 350 | 350 | ||
| 351 | if (result >= 0) | 351 | if (result >= 0) |
| @@ -370,7 +370,7 @@ int usb_serial_generic_write_room(struct tty_struct *tty) | |||
| 370 | (serial->type->max_in_flight_urbs - | 370 | (serial->type->max_in_flight_urbs - |
| 371 | port->urbs_in_flight); | 371 | port->urbs_in_flight); |
| 372 | } else if (serial->num_bulk_out) | 372 | } else if (serial->num_bulk_out) |
| 373 | room = port->write_fifo->size - kfifo_len(port->write_fifo); | 373 | room = kfifo_avail(&port->write_fifo); |
| 374 | spin_unlock_irqrestore(&port->lock, flags); | 374 | spin_unlock_irqrestore(&port->lock, flags); |
| 375 | 375 | ||
| 376 | dbg("%s - returns %d", __func__, room); | 376 | dbg("%s - returns %d", __func__, room); |
| @@ -391,7 +391,7 @@ int usb_serial_generic_chars_in_buffer(struct tty_struct *tty) | |||
| 391 | chars = port->tx_bytes_flight; | 391 | chars = port->tx_bytes_flight; |
| 392 | spin_unlock_irqrestore(&port->lock, flags); | 392 | spin_unlock_irqrestore(&port->lock, flags); |
| 393 | } else if (serial->num_bulk_out) | 393 | } else if (serial->num_bulk_out) |
| 394 | chars = kfifo_len(port->write_fifo); | 394 | chars = kfifo_len(&port->write_fifo); |
| 395 | 395 | ||
| 396 | dbg("%s - returns %d", __func__, chars); | 396 | dbg("%s - returns %d", __func__, chars); |
| 397 | return chars; | 397 | return chars; |
| @@ -507,7 +507,7 @@ void usb_serial_generic_write_bulk_callback(struct urb *urb) | |||
| 507 | if (status) { | 507 | if (status) { |
| 508 | dbg("%s - nonzero multi-urb write bulk status " | 508 | dbg("%s - nonzero multi-urb write bulk status " |
| 509 | "received: %d", __func__, status); | 509 | "received: %d", __func__, status); |
| 510 | kfifo_reset(port->write_fifo); | 510 | kfifo_reset_out(&port->write_fifo); |
| 511 | } else | 511 | } else |
| 512 | usb_serial_generic_write_start(port); | 512 | usb_serial_generic_write_start(port); |
| 513 | } | 513 | } |
diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c index 636a4f23445e..33c85f7084f8 100644 --- a/drivers/usb/serial/usb-serial.c +++ b/drivers/usb/serial/usb-serial.c | |||
| @@ -595,8 +595,7 @@ static void port_release(struct device *dev) | |||
| 595 | usb_free_urb(port->write_urb); | 595 | usb_free_urb(port->write_urb); |
| 596 | usb_free_urb(port->interrupt_in_urb); | 596 | usb_free_urb(port->interrupt_in_urb); |
| 597 | usb_free_urb(port->interrupt_out_urb); | 597 | usb_free_urb(port->interrupt_out_urb); |
| 598 | if (!IS_ERR(port->write_fifo) && port->write_fifo) | 598 | kfifo_free(&port->write_fifo); |
| 599 | kfifo_free(port->write_fifo); | ||
| 600 | kfree(port->bulk_in_buffer); | 599 | kfree(port->bulk_in_buffer); |
| 601 | kfree(port->bulk_out_buffer); | 600 | kfree(port->bulk_out_buffer); |
| 602 | kfree(port->interrupt_in_buffer); | 601 | kfree(port->interrupt_in_buffer); |
| @@ -939,7 +938,7 @@ int usb_serial_probe(struct usb_interface *interface, | |||
| 939 | dev_err(&interface->dev, "No free urbs available\n"); | 938 | dev_err(&interface->dev, "No free urbs available\n"); |
| 940 | goto probe_error; | 939 | goto probe_error; |
| 941 | } | 940 | } |
| 942 | if (kfifo_alloc(port->write_fifo, PAGE_SIZE, GFP_KERNEL)) | 941 | if (kfifo_alloc(&port->write_fifo, PAGE_SIZE, GFP_KERNEL)) |
| 943 | goto probe_error; | 942 | goto probe_error; |
| 944 | buffer_size = le16_to_cpu(endpoint->wMaxPacketSize); | 943 | buffer_size = le16_to_cpu(endpoint->wMaxPacketSize); |
| 945 | port->bulk_out_size = buffer_size; | 944 | port->bulk_out_size = buffer_size; |
