Commit 36d042bd authored by Hariprasad Kelam's avatar Hariprasad Kelam Committed by Greg Kroah-Hartman
Browse files

staging: rtl8192e: Make use kmemdup



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

Signed-off-by: default avatarHariprasad Kelam <hariprasad.kelam@gmail.com>
Link: https://lore.kernel.org/r/20190804024832.GA14352@hari-Inspiron-1545


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent d8ba499d
Loading
Loading
Loading
Loading
+7 −17
Original line number Diff line number Diff line
@@ -1382,15 +1382,10 @@ 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 {
		netdev_info(ieee->dev,
			    "%s()Warning: can't alloc memory for assocreq_ies\n",
			    __func__);
	ieee->assocreq_ies = kmemdup(ies, ieee->assocreq_ies_len, GFP_ATOMIC);
	if (!ieee->assocreq_ies)
		ieee->assocreq_ies_len = 0;
	}

	return skb;
}

@@ -2259,17 +2254,12 @@ 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 {
				netdev_info(ieee->dev,
					    "%s()Warning: can't alloc memory for assocresp_ies\n",
					    __func__);
			if (!ieee->assocresp_ies)
				ieee->assocresp_ies_len = 0;
			}

			rtllib_associate_complete(ieee);
		} else {
			/* aid could not been allocated */