diff options
Diffstat (limited to 'drivers/net/wireless/intersil/hostap/hostap_main.c')
| -rw-r--r-- | drivers/net/wireless/intersil/hostap/hostap_main.c | 8 | 
1 files changed, 3 insertions, 5 deletions
| diff --git a/drivers/net/wireless/intersil/hostap/hostap_main.c b/drivers/net/wireless/intersil/hostap/hostap_main.c index 544fc09dcb62..a3c066f90afc 100644 --- a/drivers/net/wireless/intersil/hostap/hostap_main.c +++ b/drivers/net/wireless/intersil/hostap/hostap_main.c @@ -73,7 +73,7 @@ struct net_device * hostap_add_interface(struct local_info *local,  	dev->mem_end = mdev->mem_end;  	hostap_setup_dev(dev, local, type); -	dev->destructor = free_netdev; +	dev->needs_free_netdev = true;  	sprintf(dev->name, "%s%s", prefix, name);  	if (!rtnl_locked) @@ -1039,15 +1039,13 @@ int prism2_sta_send_mgmt(local_info_t *local, u8 *dst, u16 stype,  	if (skb == NULL)  		return -ENOMEM; -	mgmt = (struct hostap_ieee80211_mgmt *) -		skb_put(skb, IEEE80211_MGMT_HDR_LEN); -	memset(mgmt, 0, IEEE80211_MGMT_HDR_LEN); +	mgmt = skb_put_zero(skb, IEEE80211_MGMT_HDR_LEN);  	mgmt->frame_control = cpu_to_le16(IEEE80211_FTYPE_MGMT | stype);  	memcpy(mgmt->da, dst, ETH_ALEN);  	memcpy(mgmt->sa, dev->dev_addr, ETH_ALEN);  	memcpy(mgmt->bssid, dst, ETH_ALEN);  	if (body) -		memcpy(skb_put(skb, bodylen), body, bodylen); +		skb_put_data(skb, body, bodylen);  	meta = (struct hostap_skb_tx_data *) skb->cb;  	memset(meta, 0, sizeof(*meta)); |