USB: kmemdup() cleanup in drivers/usb/

replace open coded kmemdup() to save some screen space,
and allow inlining/not inlining to be triggered by gcc.

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Eric Sesterhenn 2006-10-26 21:06:24 +02:00 committed by Greg Kroah-Hartman
parent 052ac01aeb
commit 5d7efe5b37
5 changed files with 7 additions and 15 deletions

View File

@ -401,9 +401,8 @@ static int uea_send_modem_cmd(struct usb_device *usb,
int ret = -ENOMEM; int ret = -ENOMEM;
u8 *xfer_buff; u8 *xfer_buff;
xfer_buff = kmalloc(size, GFP_KERNEL); xfer_buff = kmemdup(buff, size, GFP_KERNEL);
if (xfer_buff) { if (xfer_buff) {
memcpy(xfer_buff, buff, size);
ret = usb_control_msg(usb, ret = usb_control_msg(usb,
usb_sndctrlpipe(usb, 0), usb_sndctrlpipe(usb, 0),
LOAD_INTERNAL, LOAD_INTERNAL,
@ -595,14 +594,12 @@ static int uea_idma_write(struct uea_softc *sc, void *data, u32 size)
u8 *xfer_buff; u8 *xfer_buff;
int bytes_read; int bytes_read;
xfer_buff = kmalloc(size, GFP_KERNEL); xfer_buff = kmemdup(data, size, GFP_KERNEL);
if (!xfer_buff) { if (!xfer_buff) {
uea_err(INS_TO_USBDEV(sc), "can't allocate xfer_buff\n"); uea_err(INS_TO_USBDEV(sc), "can't allocate xfer_buff\n");
return ret; return ret;
} }
memcpy(xfer_buff, data, size);
ret = usb_bulk_msg(sc->usb_dev, ret = usb_bulk_msg(sc->usb_dev,
usb_sndbulkpipe(sc->usb_dev, UEA_IDMA_PIPE), usb_sndbulkpipe(sc->usb_dev, UEA_IDMA_PIPE),
xfer_buff, size, &bytes_read, BULK_TIMEOUT); xfer_buff, size, &bytes_read, BULK_TIMEOUT);
@ -765,12 +762,11 @@ static int uea_request(struct uea_softc *sc,
u8 *xfer_buff; u8 *xfer_buff;
int ret = -ENOMEM; int ret = -ENOMEM;
xfer_buff = kmalloc(size, GFP_KERNEL); xfer_buff = kmemdup(data, size, GFP_KERNEL);
if (!xfer_buff) { if (!xfer_buff) {
uea_err(INS_TO_USBDEV(sc), "can't allocate xfer_buff\n"); uea_err(INS_TO_USBDEV(sc), "can't allocate xfer_buff\n");
return ret; return ret;
} }
memcpy(xfer_buff, data, size);
ret = usb_control_msg(sc->usb_dev, usb_sndctrlpipe(sc->usb_dev, 0), ret = usb_control_msg(sc->usb_dev, usb_sndctrlpipe(sc->usb_dev, 0),
UCDC_SEND_ENCAPSULATED_COMMAND, UCDC_SEND_ENCAPSULATED_COMMAND,

View File

@ -53,13 +53,12 @@ static void __exit emi26_exit (void);
static int emi26_writememory (struct usb_device *dev, int address, unsigned char *data, int length, __u8 request) static int emi26_writememory (struct usb_device *dev, int address, unsigned char *data, int length, __u8 request)
{ {
int result; int result;
unsigned char *buffer = kmalloc (length, GFP_KERNEL); unsigned char *buffer = kmemdup(data, length, GFP_KERNEL);
if (!buffer) { if (!buffer) {
err("emi26: kmalloc(%d) failed.", length); err("emi26: kmalloc(%d) failed.", length);
return -ENOMEM; return -ENOMEM;
} }
memcpy (buffer, data, length);
/* Note: usb_control_msg returns negative value on error or length of the /* Note: usb_control_msg returns negative value on error or length of the
* data that was written! */ * data that was written! */
result = usb_control_msg (dev, usb_sndctrlpipe(dev, 0), request, 0x40, address, 0, buffer, length, 300); result = usb_control_msg (dev, usb_sndctrlpipe(dev, 0), request, 0x40, address, 0, buffer, length, 300);

View File

@ -61,13 +61,12 @@ static void __exit emi62_exit (void);
static int emi62_writememory (struct usb_device *dev, int address, unsigned char *data, int length, __u8 request) static int emi62_writememory (struct usb_device *dev, int address, unsigned char *data, int length, __u8 request)
{ {
int result; int result;
unsigned char *buffer = kmalloc (length, GFP_KERNEL); unsigned char *buffer = kmemdup(data, length, GFP_KERNEL);
if (!buffer) { if (!buffer) {
err("emi62: kmalloc(%d) failed.", length); err("emi62: kmalloc(%d) failed.", length);
return -ENOMEM; return -ENOMEM;
} }
memcpy (buffer, data, length);
/* Note: usb_control_msg returns negative value on error or length of the /* Note: usb_control_msg returns negative value on error or length of the
* data that was written! */ * data that was written! */
result = usb_control_msg (dev, usb_sndctrlpipe(dev, 0), request, 0x40, address, 0, buffer, length, 300); result = usb_control_msg (dev, usb_sndctrlpipe(dev, 0), request, 0x40, address, 0, buffer, length, 300);

View File

@ -31,12 +31,11 @@ int ezusb_writememory (struct usb_serial *serial, int address, unsigned char *da
return -ENODEV; return -ENODEV;
} }
transfer_buffer = kmalloc (length, GFP_KERNEL); transfer_buffer = kmemdup(data, length, GFP_KERNEL);
if (!transfer_buffer) { if (!transfer_buffer) {
dev_err(&serial->dev->dev, "%s - kmalloc(%d) failed.\n", __FUNCTION__, length); dev_err(&serial->dev->dev, "%s - kmalloc(%d) failed.\n", __FUNCTION__, length);
return -ENOMEM; return -ENOMEM;
} }
memcpy (transfer_buffer, data, length);
result = usb_control_msg (serial->dev, usb_sndctrlpipe(serial->dev, 0), bRequest, 0x40, address, 0, transfer_buffer, length, 3000); result = usb_control_msg (serial->dev, usb_sndctrlpipe(serial->dev, 0), bRequest, 0x40, address, 0, transfer_buffer, length, 3000);
kfree (transfer_buffer); kfree (transfer_buffer);
return result; return result;

View File

@ -206,10 +206,9 @@ static int ipw_open(struct usb_serial_port *port, struct file *filp)
dbg("%s", __FUNCTION__); dbg("%s", __FUNCTION__);
buf_flow_init = kmalloc(16, GFP_KERNEL); buf_flow_init = kmemdup(buf_flow_static, 16, GFP_KERNEL);
if (!buf_flow_init) if (!buf_flow_init)
return -ENOMEM; return -ENOMEM;
memcpy(buf_flow_init, buf_flow_static, 16);
if (port->tty) if (port->tty)
port->tty->low_latency = 1; port->tty->low_latency = 1;