OSDN Git Service

usb: isp1760: Use kasprintf
authorHimanshu Jha <himanshujha199640@gmail.com>
Wed, 7 Mar 2018 18:38:24 +0000 (00:08 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Mar 2018 17:40:21 +0000 (09:40 -0800)
Use kasprintf instead of combination of kmalloc and sprintf and
therefore avoid unnecessary computation of string length.
Also, remove the useless local variable.

Signed-off-by: Himanshu Jha <himanshujha199640@gmail.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/isp1760/isp1760-udc.c

index bac4ef5..1714b22 100644 (file)
@@ -1441,7 +1441,6 @@ int isp1760_udc_register(struct isp1760_device *isp, int irq,
                         unsigned long irqflags)
 {
        struct isp1760_udc *udc = &isp->udc;
-       const char *devname;
        int ret;
 
        udc->irq = -1;
@@ -1455,13 +1454,10 @@ int isp1760_udc_register(struct isp1760_device *isp, int irq,
        if (ret < 0)
                return ret;
 
-       devname = dev_name(isp->dev);
-       udc->irqname = kmalloc(strlen(devname) + 7, GFP_KERNEL);
+       udc->irqname = kasprintf(GFP_KERNEL, "%s (udc)", dev_name(isp->dev));
        if (!udc->irqname)
                return -ENOMEM;
 
-       sprintf(udc->irqname, "%s (udc)", devname);
-
        ret = request_irq(irq, isp1760_udc_irq, IRQF_SHARED | irqflags,
                          udc->irqname, udc);
        if (ret < 0)