aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/class
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/class')
-rw-r--r--drivers/usb/class/usbtmc.c9
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,