diff options
Diffstat (limited to 'drivers/net/wireless/rndis_wlan.c')
| -rw-r--r-- | drivers/net/wireless/rndis_wlan.c | 9 | 
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/net/wireless/rndis_wlan.c b/drivers/net/wireless/rndis_wlan.c index 241162e8111..bd1f0cb5608 100644 --- a/drivers/net/wireless/rndis_wlan.c +++ b/drivers/net/wireless/rndis_wlan.c @@ -1803,6 +1803,7 @@ static struct ndis_80211_pmkid *update_pmkid(struct usbnet *usbdev,  						struct cfg80211_pmksa *pmksa,  						int max_pmkids)  { +	struct ndis_80211_pmkid *new_pmkids;  	int i, err, newlen;  	unsigned int count; @@ -1833,11 +1834,12 @@ static struct ndis_80211_pmkid *update_pmkid(struct usbnet *usbdev,  	/* add new pmkid */  	newlen = sizeof(*pmkids) + (count + 1) * sizeof(pmkids->bssid_info[0]); -	pmkids = krealloc(pmkids, newlen, GFP_KERNEL); -	if (!pmkids) { +	new_pmkids = krealloc(pmkids, newlen, GFP_KERNEL); +	if (!new_pmkids) {  		err = -ENOMEM;  		goto error;  	} +	pmkids = new_pmkids;  	pmkids->length = cpu_to_le32(newlen);  	pmkids->bssid_info_count = cpu_to_le32(count + 1); @@ -1957,9 +1959,6 @@ static int rndis_scan(struct wiphy *wiphy,  	 */  	rndis_check_bssid_list(usbdev, NULL, NULL); -	if (!request) -		return -EINVAL; -  	if (priv->scan_request && priv->scan_request != request)  		return -EBUSY;  |