diff options
Diffstat (limited to 'drivers/usb/class/usbtmc.c')
| -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, |
