Staging: line6: Use kmemdup rather than duplicating its implementation

Use kmemdup rather than duplicating its implementation

 The semantic patch that makes this change is available
 in scripts/coccinelle/api/memdup.cocci.

 More information about semantic patching is available at
 http://coccinelle.lip6.fr/

Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Thomas Meyer 2011-11-08 20:40:26 +01:00 коммит произвёл Greg Kroah-Hartman
Родитель 140e28b83c
Коммит cff863871e
1 изменённых файлов: 1 добавлений и 2 удалений

Просмотреть файл

@ -135,7 +135,7 @@ static int send_midi_async(struct usb_line6 *line6, unsigned char *data,
line6_write_hexdump(line6, 'S', data, length); line6_write_hexdump(line6, 'S', data, length);
#endif #endif
transfer_buffer = kmalloc(length, GFP_ATOMIC); transfer_buffer = kmemdup(data, length, GFP_ATOMIC);
if (transfer_buffer == NULL) { if (transfer_buffer == NULL) {
usb_free_urb(urb); usb_free_urb(urb);
@ -143,7 +143,6 @@ static int send_midi_async(struct usb_line6 *line6, unsigned char *data,
return -ENOMEM; return -ENOMEM;
} }
memcpy(transfer_buffer, data, length);
usb_fill_int_urb(urb, line6->usbdev, usb_fill_int_urb(urb, line6->usbdev,
usb_sndbulkpipe(line6->usbdev, usb_sndbulkpipe(line6->usbdev,
line6->ep_control_write), line6->ep_control_write),