Browse Source

USB: serial: cp210x: use kmemdup

Use kmemdup when some other buffer is immediately copied into allocated
region. It replaces call to allocation followed by memcpy, by a single
call to kmemdup.

Signed-off-by: Muhammad Falak R Wani <falakreyaz@gmail.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Muhammad Falak R Wani 9 years ago
parent
commit
d6c4dc3bf4
1 changed files with 1 additions and 3 deletions
  1. 1 3
      drivers/usb/serial/cp210x.c

+ 1 - 3
drivers/usb/serial/cp210x.c

@@ -496,12 +496,10 @@ static int cp210x_write_reg_block(struct usb_serial_port *port, u8 req,
 	void *dmabuf;
 	void *dmabuf;
 	int result;
 	int result;
 
 
-	dmabuf = kmalloc(bufsize, GFP_KERNEL);
+	dmabuf = kmemdup(buf, bufsize, GFP_KERNEL);
 	if (!dmabuf)
 	if (!dmabuf)
 		return -ENOMEM;
 		return -ENOMEM;
 
 
-	memcpy(dmabuf, buf, bufsize);
-
 	result = usb_control_msg(serial->dev, usb_sndctrlpipe(serial->dev, 0),
 	result = usb_control_msg(serial->dev, usb_sndctrlpipe(serial->dev, 0),
 			req, REQTYPE_HOST_TO_INTERFACE, 0,
 			req, REQTYPE_HOST_TO_INTERFACE, 0,
 			port_priv->bInterfaceNumber, dmabuf, bufsize,
 			port_priv->bInterfaceNumber, dmabuf, bufsize,