diff options
author | Ming Lei <ming.lei@canonical.com> | 2013-04-18 00:17:38 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-04-19 13:20:41 -0400 |
commit | ac9e59cad7b0b699b2aa9a104eb22ed67a560e02 (patch) | |
tree | 9de461b53f426632ef4be810f6eade869bd2b1ba /drivers/usb | |
parent | c33c888b585fd9ed3770e91588480a0b74e82ad0 (diff) |
USB: usbtmc: remove unnecessary memory allocation
Inside usbtmc_ioctl_clear_out_halt()/usbtmc_ioctl_clear_in_halt(),
usb_clear_halt() needn't any buffer to pass in, so remove the
unnecessary memory allocation.
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/class/usbtmc.c | 26 |
1 files changed, 4 insertions, 22 deletions
diff --git a/drivers/usb/class/usbtmc.c b/drivers/usb/class/usbtmc.c index 70d69d06054f..4c5506ae5e45 100644 --- a/drivers/usb/class/usbtmc.c +++ b/drivers/usb/class/usbtmc.c | |||
@@ -718,50 +718,32 @@ exit: | |||
718 | 718 | ||
719 | static int usbtmc_ioctl_clear_out_halt(struct usbtmc_device_data *data) | 719 | static int usbtmc_ioctl_clear_out_halt(struct usbtmc_device_data *data) |
720 | { | 720 | { |
721 | u8 *buffer; | ||
722 | int rv; | 721 | int rv; |
723 | 722 | ||
724 | buffer = kmalloc(2, GFP_KERNEL); | ||
725 | if (!buffer) | ||
726 | return -ENOMEM; | ||
727 | |||
728 | rv = usb_clear_halt(data->usb_dev, | 723 | rv = usb_clear_halt(data->usb_dev, |
729 | usb_sndbulkpipe(data->usb_dev, data->bulk_out)); | 724 | usb_sndbulkpipe(data->usb_dev, data->bulk_out)); |
730 | 725 | ||
731 | if (rv < 0) { | 726 | if (rv < 0) { |
732 | dev_err(&data->usb_dev->dev, "usb_control_msg returned %d\n", | 727 | dev_err(&data->usb_dev->dev, "usb_control_msg returned %d\n", |
733 | rv); | 728 | rv); |
734 | goto exit; | 729 | return rv; |
735 | } | 730 | } |
736 | rv = 0; | 731 | return 0; |
737 | |||
738 | exit: | ||
739 | kfree(buffer); | ||
740 | return rv; | ||
741 | } | 732 | } |
742 | 733 | ||
743 | static int usbtmc_ioctl_clear_in_halt(struct usbtmc_device_data *data) | 734 | static int usbtmc_ioctl_clear_in_halt(struct usbtmc_device_data *data) |
744 | { | 735 | { |
745 | u8 *buffer; | ||
746 | int rv; | 736 | int rv; |
747 | 737 | ||
748 | buffer = kmalloc(2, GFP_KERNEL); | ||
749 | if (!buffer) | ||
750 | return -ENOMEM; | ||
751 | |||
752 | rv = usb_clear_halt(data->usb_dev, | 738 | rv = usb_clear_halt(data->usb_dev, |
753 | usb_rcvbulkpipe(data->usb_dev, data->bulk_in)); | 739 | usb_rcvbulkpipe(data->usb_dev, data->bulk_in)); |
754 | 740 | ||
755 | if (rv < 0) { | 741 | if (rv < 0) { |
756 | dev_err(&data->usb_dev->dev, "usb_control_msg returned %d\n", | 742 | dev_err(&data->usb_dev->dev, "usb_control_msg returned %d\n", |
757 | rv); | 743 | rv); |
758 | goto exit; | 744 | return rv; |
759 | } | 745 | } |
760 | rv = 0; | 746 | return 0; |
761 | |||
762 | exit: | ||
763 | kfree(buffer); | ||
764 | return rv; | ||
765 | } | 747 | } |
766 | 748 | ||
767 | static int get_capabilities(struct usbtmc_device_data *data) | 749 | static int get_capabilities(struct usbtmc_device_data *data) |