ps3_gelic: use kmemdup
authorMuhammad Falak R Wani <falakreyaz@gmail.com>
Thu, 19 May 2016 13:54:41 +0000 (19:24 +0530)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 May 2016 23:50:07 +0000 (19:50 -0400)
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: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c

index 743b182..446ea58 100644 (file)
@@ -1616,13 +1616,13 @@ static void gelic_wl_scan_complete_event(struct gelic_wl_info *wl)
                target->valid = 1;
                target->eurus_index = i;
                kfree(target->hwinfo);
-               target->hwinfo = kzalloc(be16_to_cpu(scan_info->size),
+               target->hwinfo = kmemdup(scan_info,
+                                        be16_to_cpu(scan_info->size),
                                         GFP_KERNEL);
                if (!target->hwinfo)
                        continue;
 
                /* copy hw scan info */
-               memcpy(target->hwinfo, scan_info, be16_to_cpu(scan_info->size));
                target->essid_len = strnlen(scan_info->essid,
                                            sizeof(scan_info->essid));
                target->rate_len = 0;