struct ieee80211_hdr *hdr) 
struct ieee80211_hdr_4addr *hdr) 
static void ap_handle_dropped_data(local_info_t *local,				   struct ieee80211_hdr *hdr){	struct net_device *dev = local->dev;	struct sta_info *sta;	u16 reason;	spin_lock_bh(&local->ap->sta_table_lock);	sta = ap_get_sta(local->ap, hdr->addr2);	if (sta)		atomic_inc(&sta->users);	spin_unlock_bh(&local->ap->sta_table_lock);	if (sta != NULL && (sta->flags & WLAN_STA_ASSOC)) {		PDEBUG(DEBUG_AP, "ap_handle_dropped_data: STA is now okay?\n");		atomic_dec(&sta->users);		return;	}	reason = __constant_cpu_to_le16(		WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA);	prism2_send_mgmt(dev, IEEE80211_FTYPE_MGMT |			 ((sta == NULL || !(sta->flags & WLAN_STA_ASSOC)) ?			  IEEE80211_STYPE_DEAUTH : IEEE80211_STYPE_DISASSOC),			 (char *) &reason, sizeof(reason), hdr->addr2, 0);	if (sta)		atomic_dec(&sta->users);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/d041674d62e1ad565f2fb6d53ae80b31d6656033/hostap_ap.c/clean/drivers/net/wireless/hostap/hostap_ap.c