Skip to content

Commit

Permalink
USB: ir-usb: fix incorrect write-buffer length
Browse files Browse the repository at this point in the history
Returned length should include header length.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Johan Hovold authored and Greg Kroah-Hartman committed May 20, 2010
1 parent f26c288 commit e421fe9
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion drivers/usb/serial/ir-usb.c
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,7 @@ static int ir_prepare_write_buffer(struct usb_serial_port *port,
void *dest, size_t size)
{
unsigned char *buf = dest;
int count;

/*
* The first byte of the packet we send to the device contains an
Expand All @@ -317,8 +318,9 @@ static int ir_prepare_write_buffer(struct usb_serial_port *port,
*/
*buf = ir_xbof | ir_baud;

return kfifo_out_locked(&port->write_fifo, buf + 1, size - 1,
count = kfifo_out_locked(&port->write_fifo, buf + 1, size - 1,
&port->lock);
return count + 1;
}

static void ir_process_read_urb(struct urb *urb)
Expand Down

0 comments on commit e421fe9

Please sign in to comment.