diff options
-rw-r--r-- | drivers/usb/misc/usblcd.c | 7 | ||||
-rw-r--r-- | drivers/usb/usb-skeleton.c | 7 |
2 files changed, 8 insertions, 6 deletions
diff --git a/drivers/usb/misc/usblcd.c b/drivers/usb/misc/usblcd.c index dcdf9b4abb7cc..096ab30296763 100644 --- a/drivers/usb/misc/usblcd.c +++ b/drivers/usb/misc/usblcd.c @@ -109,6 +109,7 @@ static ssize_t lcd_read(struct file *file, char __user * buffer, size_t count, l { struct usb_lcd *dev; int retval = 0; + int bytes_read; dev = (struct usb_lcd *)file->private_data; @@ -117,14 +118,14 @@ static ssize_t lcd_read(struct file *file, char __user * buffer, size_t count, l usb_rcvbulkpipe(dev->udev, dev->bulk_in_endpointAddr), dev->bulk_in_buffer, min(dev->bulk_in_size, count), - &count, 10000); + &bytes_read, 10000); /* if the read was successful, copy the data to userspace */ if (!retval) { - if (copy_to_user(buffer, dev->bulk_in_buffer, count)) + if (copy_to_user(buffer, dev->bulk_in_buffer, bytes_read)) retval = -EFAULT; else - retval = count; + retval = bytes_read; } return retval; diff --git a/drivers/usb/usb-skeleton.c b/drivers/usb/usb-skeleton.c index 1bb67337fe6f8..6051a646fe69d 100644 --- a/drivers/usb/usb-skeleton.c +++ b/drivers/usb/usb-skeleton.c @@ -112,6 +112,7 @@ static ssize_t skel_read(struct file *file, char *buffer, size_t count, loff_t * { struct usb_skel *dev; int retval = 0; + int bytes_read; dev = (struct usb_skel *)file->private_data; @@ -120,14 +121,14 @@ static ssize_t skel_read(struct file *file, char *buffer, size_t count, loff_t * usb_rcvbulkpipe(dev->udev, dev->bulk_in_endpointAddr), dev->bulk_in_buffer, min(dev->bulk_in_size, count), - &count, 10000); + &bytes_read, 10000); /* if the read was successful, copy the data to userspace */ if (!retval) { - if (copy_to_user(buffer, dev->bulk_in_buffer, count)) + if (copy_to_user(buffer, dev->bulk_in_buffer, bytes_read)) retval = -EFAULT; else - retval = count; + retval = bytes_read; } return retval; |