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....@canonical.com>
---
 drivers/usb/class/usbtmc.c |   26 ++++----------------------
 1 file changed, 4 insertions(+), 22 deletions(-)

diff --git a/drivers/usb/class/usbtmc.c b/drivers/usb/class/usbtmc.c
index 70d69d0..4c5506a 100644
--- a/drivers/usb/class/usbtmc.c
+++ b/drivers/usb/class/usbtmc.c
@@ -718,50 +718,32 @@ exit:
 
 static int usbtmc_ioctl_clear_out_halt(struct usbtmc_device_data *data)
 {
-       u8 *buffer;
        int rv;
 
-       buffer = kmalloc(2, GFP_KERNEL);
-       if (!buffer)
-               return -ENOMEM;
-
        rv = usb_clear_halt(data->usb_dev,
                            usb_sndbulkpipe(data->usb_dev, data->bulk_out));
 
        if (rv < 0) {
                dev_err(&data->usb_dev->dev, "usb_control_msg returned %d\n",
                        rv);
-               goto exit;
+               return rv;
        }
-       rv = 0;
-
-exit:
-       kfree(buffer);
-       return rv;
+       return 0;
 }
 
 static int usbtmc_ioctl_clear_in_halt(struct usbtmc_device_data *data)
 {
-       u8 *buffer;
        int rv;
 
-       buffer = kmalloc(2, GFP_KERNEL);
-       if (!buffer)
-               return -ENOMEM;
-
        rv = usb_clear_halt(data->usb_dev,
                            usb_rcvbulkpipe(data->usb_dev, data->bulk_in));
 
        if (rv < 0) {
                dev_err(&data->usb_dev->dev, "usb_control_msg returned %d\n",
                        rv);
-               goto exit;
+               return rv;
        }
-       rv = 0;
-
-exit:
-       kfree(buffer);
-       return rv;
+       return 0;
 }
 
 static int get_capabilities(struct usbtmc_device_data *data)
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to