OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright 2002-2005, Instant802 Networks, Inc. | 2 * Copyright 2002-2005, Instant802 Networks, Inc. |
3 * Copyright 2005-2006, Devicescape Software, Inc. | 3 * Copyright 2005-2006, Devicescape Software, Inc. |
4 * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz> | 4 * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz> |
5 * Copyright 2007 Johannes Berg <johannes@sipsolutions.net> | 5 * Copyright 2007 Johannes Berg <johannes@sipsolutions.net> |
6 * | 6 * |
7 * This program is free software; you can redistribute it and/or modify | 7 * This program is free software; you can redistribute it and/or modify |
8 * it under the terms of the GNU General Public License version 2 as | 8 * it under the terms of the GNU General Public License version 2 as |
9 * published by the Free Software Foundation. | 9 * published by the Free Software Foundation. |
10 * | 10 * |
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
279 if (tx->flags & IEEE80211_TX_PS_BUFFERED) | 279 if (tx->flags & IEEE80211_TX_PS_BUFFERED) |
280 return TX_CONTINUE; | 280 return TX_CONTINUE; |
281 | 281 |
282 sta_flags = tx->sta ? get_sta_flags(tx->sta) : 0; | 282 sta_flags = tx->sta ? get_sta_flags(tx->sta) : 0; |
283 | 283 |
284 if (likely(tx->flags & IEEE80211_TX_UNICAST)) { | 284 if (likely(tx->flags & IEEE80211_TX_UNICAST)) { |
285 if (unlikely(!(sta_flags & WLAN_STA_ASSOC) && | 285 if (unlikely(!(sta_flags & WLAN_STA_ASSOC) && |
286 tx->sdata->vif.type != NL80211_IFTYPE_ADHOC && | 286 tx->sdata->vif.type != NL80211_IFTYPE_ADHOC && |
287 ieee80211_is_data(hdr->frame_control))) { | 287 ieee80211_is_data(hdr->frame_control))) { |
288 #ifdef CONFIG_MAC80211_VERBOSE_DEBUG | 288 #ifdef CONFIG_MAC80211_VERBOSE_DEBUG |
289 » » » if (net_ratelimit()) | 289 » » » printk(KERN_DEBUG "%s: dropped data frame to not " |
Sam Leffler
2010/12/01 00:23:44
lost local change
| |
290 » » » » printk(KERN_DEBUG "%s: dropped data frame to " | 290 » » » "associated station %pM\n", |
291 » » » » "not associated station %pM\n", | 291 » » » tx->sdata->name, hdr->addr1); |
292 » » » » tx->sdata->name, hdr->addr1); | |
293 #endif /* CONFIG_MAC80211_VERBOSE_DEBUG */ | 292 #endif /* CONFIG_MAC80211_VERBOSE_DEBUG */ |
294 I802_DEBUG_INC(tx->local->tx_handlers_drop_not_assoc); | 293 I802_DEBUG_INC(tx->local->tx_handlers_drop_not_assoc); |
295 return TX_DROP; | 294 return TX_DROP; |
296 } | 295 } |
297 } else { | 296 } else { |
298 if (unlikely(ieee80211_is_data(hdr->frame_control) && | 297 if (unlikely(ieee80211_is_data(hdr->frame_control) && |
299 tx->local->num_sta == 0 && | 298 tx->local->num_sta == 0 && |
300 tx->sdata->vif.type != NL80211_IFTYPE_ADHOC)) { | 299 tx->sdata->vif.type != NL80211_IFTYPE_ADHOC)) { |
301 /* | 300 /* |
302 * No associated STAs - no need to send multicast | 301 * No associated STAs - no need to send multicast |
(...skipping 2229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2532 | 2531 |
2533 /* | 2532 /* |
2534 * The other path calling ieee80211_xmit is from the tasklet, | 2533 * The other path calling ieee80211_xmit is from the tasklet, |
2535 * and while we can handle concurrent transmissions locking | 2534 * and while we can handle concurrent transmissions locking |
2536 * requirements are that we do not come into tx with bhs on. | 2535 * requirements are that we do not come into tx with bhs on. |
2537 */ | 2536 */ |
2538 local_bh_disable(); | 2537 local_bh_disable(); |
2539 ieee80211_xmit(sdata, skb); | 2538 ieee80211_xmit(sdata, skb); |
2540 local_bh_enable(); | 2539 local_bh_enable(); |
2541 } | 2540 } |
OLD | NEW |