As kmemdup API does kmalloc + memcpy . We can make use of it instead of
calling kmalloc and memcpy independetly.

Signed-off-by: Hariprasad Kelam <hariprasad.ke...@gmail.com>
---
 drivers/staging/rtl8192e/rtllib_softmac.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/drivers/staging/rtl8192e/rtllib_softmac.c 
b/drivers/staging/rtl8192e/rtllib_softmac.c
index e29e8d6..9b8b301 100644
--- a/drivers/staging/rtl8192e/rtllib_softmac.c
+++ b/drivers/staging/rtl8192e/rtllib_softmac.c
@@ -1382,10 +1382,8 @@ rtllib_association_req(struct rtllib_network *beacon,
        ieee->assocreq_ies = NULL;
        ies = &(hdr->info_element[0].id);
        ieee->assocreq_ies_len = (skb->data + skb->len) - ies;
-       ieee->assocreq_ies = kmalloc(ieee->assocreq_ies_len, GFP_ATOMIC);
-       if (ieee->assocreq_ies)
-               memcpy(ieee->assocreq_ies, ies, ieee->assocreq_ies_len);
-       else {
+       ieee->assocreq_ies = kmemdup(ies, ieee->assocreq_ies_len, GFP_ATOMIC);
+       if (!ieee->assocreq_ies) {
                netdev_info(ieee->dev,
                            "%s()Warning: can't alloc memory for 
assocreq_ies\n",
                            __func__);
@@ -2259,12 +2257,10 @@ rtllib_rx_assoc_resp(struct rtllib_device *ieee, struct 
sk_buff *skb,
                        ieee->assocresp_ies = NULL;
                        ies = &(assoc_resp->info_element[0].id);
                        ieee->assocresp_ies_len = (skb->data + skb->len) - ies;
-                       ieee->assocresp_ies = kmalloc(ieee->assocresp_ies_len,
+                       ieee->assocresp_ies = kmemdup(ies,
+                                                     ieee->assocresp_ies_len,
                                                      GFP_ATOMIC);
-                       if (ieee->assocresp_ies)
-                               memcpy(ieee->assocresp_ies, ies,
-                                      ieee->assocresp_ies_len);
-                       else {
+                       if (!ieee->assocresp_ies) {
                                netdev_info(ieee->dev,
                                            "%s()Warning: can't alloc memory 
for assocresp_ies\n",
                                            __func__);
-- 
2.7.4

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to