diff options
Diffstat (limited to 'drivers/usb/class')
| -rw-r--r-- | drivers/usb/class/usbtmc.c | 9 | 
1 files changed, 3 insertions, 6 deletions
| diff --git a/drivers/usb/class/usbtmc.c b/drivers/usb/class/usbtmc.c index 43a863c5cc43..0f5c05f6f9df 100644 --- a/drivers/usb/class/usbtmc.c +++ b/drivers/usb/class/usbtmc.c @@ -21,6 +21,7 @@  #include <linux/init.h>  #include <linux/module.h> +#include <linux/kernel.h>  #include <linux/fs.h>  #include <linux/uaccess.h>  #include <linux/kref.h> @@ -482,7 +483,6 @@ static ssize_t usbtmc_write(struct file *filp, const char __user *buf,  	int retval;  	int actual;  	unsigned long int n_bytes; -	int n;  	int remaining;  	int done;  	int this_part; @@ -526,11 +526,8 @@ static ssize_t usbtmc_write(struct file *filp, const char __user *buf,  			goto exit;  		} -		n_bytes = 12 + this_part; -		if (this_part % 4) -			n_bytes += 4 - this_part % 4; -			for (n = 12 + this_part; n < n_bytes; n++) -				buffer[n] = 0; +		n_bytes = roundup(12 + this_part, 4); +		memset(buffer + 12 + this_part, 0, n_bytes - (12 + this_part));  		retval = usb_bulk_msg(data->usb_dev,  				      usb_sndbulkpipe(data->usb_dev, | 
