aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorMing Lei <ming.lei@canonical.com>2013-04-18 00:17:38 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-04-19 13:20:41 -0400
commitac9e59cad7b0b699b2aa9a104eb22ed67a560e02 (patch)
tree9de461b53f426632ef4be810f6eade869bd2b1ba /drivers/usb
parentc33c888b585fd9ed3770e91588480a0b74e82ad0 (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.c26
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
719static int usbtmc_ioctl_clear_out_halt(struct usbtmc_device_data *data) 719static 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
738exit:
739 kfree(buffer);
740 return rv;
741} 732}
742 733
743static int usbtmc_ioctl_clear_in_halt(struct usbtmc_device_data *data) 734static 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
762exit:
763 kfree(buffer);
764 return rv;
765} 747}
766 748
767static int get_capabilities(struct usbtmc_device_data *data) 749static int get_capabilities(struct usbtmc_device_data *data)