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 @@ | |||
21 | 21 | ||
22 | #include <linux/init.h> | 22 | #include <linux/init.h> |
23 | #include <linux/module.h> | 23 | #include <linux/module.h> |
24 | #include <linux/kernel.h> | ||
24 | #include <linux/fs.h> | 25 | #include <linux/fs.h> |
25 | #include <linux/uaccess.h> | 26 | #include <linux/uaccess.h> |
26 | #include <linux/kref.h> | 27 | #include <linux/kref.h> |
@@ -482,7 +483,6 @@ static ssize_t usbtmc_write(struct file *filp, const char __user *buf, | |||
482 | int retval; | 483 | int retval; |
483 | int actual; | 484 | int actual; |
484 | unsigned long int n_bytes; | 485 | unsigned long int n_bytes; |
485 | int n; | ||
486 | int remaining; | 486 | int remaining; |
487 | int done; | 487 | int done; |
488 | int this_part; | 488 | int this_part; |
@@ -526,11 +526,8 @@ static ssize_t usbtmc_write(struct file *filp, const char __user *buf, | |||
526 | goto exit; | 526 | goto exit; |
527 | } | 527 | } |
528 | 528 | ||
529 | n_bytes = 12 + this_part; | 529 | n_bytes = roundup(12 + this_part, 4); |
530 | if (this_part % 4) | 530 | memset(buffer + 12 + this_part, 0, n_bytes - (12 + this_part)); |
531 | n_bytes += 4 - this_part % 4; | ||
532 | for (n = 12 + this_part; n < n_bytes; n++) | ||
533 | buffer[n] = 0; | ||
534 | 531 | ||
535 | retval = usb_bulk_msg(data->usb_dev, | 532 | retval = usb_bulk_msg(data->usb_dev, |
536 | usb_sndbulkpipe(data->usb_dev, | 533 | usb_sndbulkpipe(data->usb_dev, |