diff options
Diffstat (limited to 'drivers/net/wireless/hostap/hostap_hw.c')
| -rw-r--r-- | drivers/net/wireless/hostap/hostap_hw.c | 71 | 
1 files changed, 7 insertions, 64 deletions
diff --git a/drivers/net/wireless/hostap/hostap_hw.c b/drivers/net/wireless/hostap/hostap_hw.c index 3153fe9d7ce0..0f27059bbe85 100644 --- a/drivers/net/wireless/hostap/hostap_hw.c +++ b/drivers/net/wireless/hostap/hostap_hw.c @@ -47,7 +47,7 @@  #include <linux/wireless.h>  #include <net/iw_handler.h>  #include <net/ieee80211.h> -#include <net/ieee80211_crypt.h> +#include <net/lib80211.h>  #include <asm/irq.h>  #include "hostap_80211.h" @@ -2335,10 +2335,6 @@ static void prism2_txexc(local_info_t *local)  	int show_dump, res;  	char *payload = NULL;  	struct hfa384x_tx_frame txdesc; -	DECLARE_MAC_BUF(mac); -	DECLARE_MAC_BUF(mac2); -	DECLARE_MAC_BUF(mac3); -	DECLARE_MAC_BUF(mac4);  	show_dump = local->frame_dump & PRISM2_DUMP_TXEXC_HDR;  	local->stats.tx_errors++; @@ -2404,9 +2400,9 @@ static void prism2_txexc(local_info_t *local)  	       WLAN_FC_GET_STYPE(fc) >> 4,  	       fc & IEEE80211_FCTL_TODS ? " ToDS" : "",  	       fc & IEEE80211_FCTL_FROMDS ? " FromDS" : ""); -	PDEBUG(DEBUG_EXTRA, "   A1=%s A2=%s A3=%s A4=%s\n", -	       print_mac(mac, txdesc.addr1), print_mac(mac2, txdesc.addr2), -	       print_mac(mac3, txdesc.addr3), print_mac(mac4, txdesc.addr4)); +	PDEBUG(DEBUG_EXTRA, "   A1=%pM A2=%pM A3=%pM A4=%pM\n", +	       txdesc.addr1, txdesc.addr2, +	       txdesc.addr3, txdesc.addr4);  } @@ -2792,45 +2788,6 @@ static void prism2_check_sta_fw_version(local_info_t *local)  } -static void prism2_crypt_deinit_entries(local_info_t *local, int force) -{ -	struct list_head *ptr, *n; -	struct ieee80211_crypt_data *entry; - -	for (ptr = local->crypt_deinit_list.next, n = ptr->next; -	     ptr != &local->crypt_deinit_list; ptr = n, n = ptr->next) { -		entry = list_entry(ptr, struct ieee80211_crypt_data, list); - -		if (atomic_read(&entry->refcnt) != 0 && !force) -			continue; - -		list_del(ptr); - -		if (entry->ops) -			entry->ops->deinit(entry->priv); -		kfree(entry); -	} -} - - -static void prism2_crypt_deinit_handler(unsigned long data) -{ -	local_info_t *local = (local_info_t *) data; -	unsigned long flags; - -	spin_lock_irqsave(&local->lock, flags); -	prism2_crypt_deinit_entries(local, 0); -	if (!list_empty(&local->crypt_deinit_list)) { -		printk(KERN_DEBUG "%s: entries remaining in delayed crypt " -		       "deletion list\n", local->dev->name); -		local->crypt_deinit_timer.expires = jiffies + HZ; -		add_timer(&local->crypt_deinit_timer); -	} -	spin_unlock_irqrestore(&local->lock, flags); - -} - -  static void hostap_passive_scan(unsigned long data)  {  	local_info_t *local = (local_info_t *) data; @@ -3254,10 +3211,8 @@ while (0)  	INIT_LIST_HEAD(&local->cmd_queue);  	init_waitqueue_head(&local->hostscan_wq); -	INIT_LIST_HEAD(&local->crypt_deinit_list); -	init_timer(&local->crypt_deinit_timer); -	local->crypt_deinit_timer.data = (unsigned long) local; -	local->crypt_deinit_timer.function = prism2_crypt_deinit_handler; + +	lib80211_crypt_info_init(&local->crypt_info, dev->name, &local->lock);  	init_timer(&local->passive_scan_timer);  	local->passive_scan_timer.data = (unsigned long) local; @@ -3358,9 +3313,7 @@ static void prism2_free_local_data(struct net_device *dev)  	flush_scheduled_work(); -	if (timer_pending(&local->crypt_deinit_timer)) -		del_timer(&local->crypt_deinit_timer); -	prism2_crypt_deinit_entries(local, 1); +	lib80211_crypt_info_free(&local->crypt_info);  	if (timer_pending(&local->passive_scan_timer))  		del_timer(&local->passive_scan_timer); @@ -3377,16 +3330,6 @@ static void prism2_free_local_data(struct net_device *dev)  	if (local->dev_enabled)  		prism2_callback(local, PRISM2_CALLBACK_DISABLE); -	for (i = 0; i < WEP_KEYS; i++) { -		struct ieee80211_crypt_data *crypt = local->crypt[i]; -		if (crypt) { -			if (crypt->ops) -				crypt->ops->deinit(crypt->priv); -			kfree(crypt); -			local->crypt[i] = NULL; -		} -	} -  	if (local->ap != NULL)  		hostap_free_data(local->ap);  | 
