diff options
Diffstat (limited to 'drivers/usb/misc/ldusb.c')
| -rw-r--r-- | drivers/usb/misc/ldusb.c | 13 | 
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/usb/misc/ldusb.c b/drivers/usb/misc/ldusb.c index 15b5f06fb0b3..8f86b4ebca89 100644 --- a/drivers/usb/misc/ldusb.c +++ b/drivers/usb/misc/ldusb.c @@ -487,7 +487,7 @@ static ssize_t ld_usb_read(struct file *file, char __user *buffer, size_t count,  	}  	bytes_to_read = min(count, *actual_buffer);  	if (bytes_to_read < *actual_buffer) -		dev_warn(&dev->intf->dev, "Read buffer overflow, %zd bytes dropped\n", +		dev_warn(&dev->intf->dev, "Read buffer overflow, %zu bytes dropped\n",  			 *actual_buffer-bytes_to_read);  	/* copy one interrupt_in_buffer from ring_buffer into userspace */ @@ -495,11 +495,11 @@ static ssize_t ld_usb_read(struct file *file, char __user *buffer, size_t count,  		retval = -EFAULT;  		goto unlock_exit;  	} -	dev->ring_tail = (dev->ring_tail+1) % ring_buffer_size; -  	retval = bytes_to_read;  	spin_lock_irq(&dev->rbsl); +	dev->ring_tail = (dev->ring_tail + 1) % ring_buffer_size; +  	if (dev->buffer_overflow) {  		dev->buffer_overflow = 0;  		spin_unlock_irq(&dev->rbsl); @@ -562,8 +562,9 @@ static ssize_t ld_usb_write(struct file *file, const char __user *buffer,  	/* write the data into interrupt_out_buffer from userspace */  	bytes_to_write = min(count, write_buffer_size*dev->interrupt_out_endpoint_size);  	if (bytes_to_write < count) -		dev_warn(&dev->intf->dev, "Write buffer overflow, %zd bytes dropped\n", count-bytes_to_write); -	dev_dbg(&dev->intf->dev, "%s: count = %zd, bytes_to_write = %zd\n", +		dev_warn(&dev->intf->dev, "Write buffer overflow, %zu bytes dropped\n", +			count - bytes_to_write); +	dev_dbg(&dev->intf->dev, "%s: count = %zu, bytes_to_write = %zu\n",  		__func__, count, bytes_to_write);  	if (copy_from_user(dev->interrupt_out_buffer, buffer, bytes_to_write)) { @@ -580,7 +581,7 @@ static ssize_t ld_usb_write(struct file *file, const char __user *buffer,  					 1 << 8, 0,  					 dev->interrupt_out_buffer,  					 bytes_to_write, -					 USB_CTRL_SET_TIMEOUT * HZ); +					 USB_CTRL_SET_TIMEOUT);  		if (retval < 0)  			dev_err(&dev->intf->dev,  				"Couldn't submit HID_REQ_SET_REPORT %d\n",  |