aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/main.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2013-02-15 15:38:08 -0500
committerJohannes Berg <johannes.berg@intel.com>2013-03-07 08:33:21 -0500
commite943789edbb1f9de71b129d9992489eb79ed341f (patch)
tree68fa313de6316ee270dc7fbc08b3596bf3483497 /net/mac80211/main.c
parent560d268220d3416a2d473bcc906ea2ccbf51e4ec (diff)
mac80211: provide ieee80211_sta_eosp()
The irqsafe version ieee80211_sta_eosp_irqsafe() exists, but drivers must not mix calls to any irqsafe/non-irqsafe function. Both ath9k and iwlwifi, the likely first users of this interface, use non-irqsafe RX/TX/TX status so must also use a non-irqsafe version of this function. Since no driver uses the _irqsafe() version, remove that. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/main.c')
-rw-r--r--net/mac80211/main.c14
1 files changed, 0 insertions, 14 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index 5a53aa5ede80..5531c89909d8 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -226,8 +226,6 @@ u32 ieee80211_reset_erp_info(struct ieee80211_sub_if_data *sdata)
226static void ieee80211_tasklet_handler(unsigned long data) 226static void ieee80211_tasklet_handler(unsigned long data)
227{ 227{
228 struct ieee80211_local *local = (struct ieee80211_local *) data; 228 struct ieee80211_local *local = (struct ieee80211_local *) data;
229 struct sta_info *sta, *tmp;
230 struct skb_eosp_msg_data *eosp_data;
231 struct sk_buff *skb; 229 struct sk_buff *skb;
232 230
233 while ((skb = skb_dequeue(&local->skb_queue)) || 231 while ((skb = skb_dequeue(&local->skb_queue)) ||
@@ -243,18 +241,6 @@ static void ieee80211_tasklet_handler(unsigned long data)
243 skb->pkt_type = 0; 241 skb->pkt_type = 0;
244 ieee80211_tx_status(&local->hw, skb); 242 ieee80211_tx_status(&local->hw, skb);
245 break; 243 break;
246 case IEEE80211_EOSP_MSG:
247 eosp_data = (void *)skb->cb;
248 for_each_sta_info(local, eosp_data->sta, sta, tmp) {
249 /* skip wrong virtual interface */
250 if (memcmp(eosp_data->iface,
251 sta->sdata->vif.addr, ETH_ALEN))
252 continue;
253 clear_sta_flag(sta, WLAN_STA_SP);
254 break;
255 }
256 dev_kfree_skb(skb);
257 break;
258 default: 244 default:
259 WARN(1, "mac80211: Packet is of unknown type %d\n", 245 WARN(1, "mac80211: Packet is of unknown type %d\n",
260 skb->pkt_type); 246 skb->pkt_type);