Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(243)

Side by Side Diff: chromeos/compat-wireless/net/mac80211/cfg.c

Issue 5326002: Update compat-wireless to 2.6.36-5-spn (Closed) Base URL: http://git.chromium.org/git/kernel.git@master
Patch Set: Fixes for !ACK handling, missing local changes, log message fixes Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * mac80211 configuration hooks for cfg80211 2 * mac80211 configuration hooks for cfg80211
3 * 3 *
4 * Copyright 2006-2010 Johannes Berg <johannes@sipsolutions.net> 4 * Copyright 2006-2010 Johannes Berg <johannes@sipsolutions.net>
5 * 5 *
6 * This file is GPLv2 as found in COPYING. 6 * This file is GPLv2 as found in COPYING.
7 */ 7 */
8 8
9 #include <linux/ieee80211.h> 9 #include <linux/ieee80211.h>
10 #include <linux/nl80211.h> 10 #include <linux/nl80211.h>
(...skipping 616 matching lines...) Expand 10 before | Expand all | Expand 10 after
627 skb->dev = sta->sdata->dev; 627 skb->dev = sta->sdata->dev;
628 skb->protocol = eth_type_trans(skb, sta->sdata->dev); 628 skb->protocol = eth_type_trans(skb, sta->sdata->dev);
629 memset(skb->cb, 0, sizeof(skb->cb)); 629 memset(skb->cb, 0, sizeof(skb->cb));
630 netif_rx_ni(skb); 630 netif_rx_ni(skb);
631 } 631 }
632 632
633 static void sta_apply_parameters(struct ieee80211_local *local, 633 static void sta_apply_parameters(struct ieee80211_local *local,
634 struct sta_info *sta, 634 struct sta_info *sta,
635 struct station_parameters *params) 635 struct station_parameters *params)
636 { 636 {
637 unsigned long flags;
637 u32 rates; 638 u32 rates;
638 int i, j; 639 int i, j;
639 struct ieee80211_supported_band *sband; 640 struct ieee80211_supported_band *sband;
640 struct ieee80211_sub_if_data *sdata = sta->sdata; 641 struct ieee80211_sub_if_data *sdata = sta->sdata;
641 u32 mask, set; 642 u32 mask, set;
642 643
643 sband = local->hw.wiphy->bands[local->oper_channel->band]; 644 sband = local->hw.wiphy->bands[local->oper_channel->band];
644 645
645 » spin_lock_bh(&sta->lock); 646 » spin_lock_irqsave(&sta->flaglock, flags);
646 mask = params->sta_flags_mask; 647 mask = params->sta_flags_mask;
647 set = params->sta_flags_set; 648 set = params->sta_flags_set;
648 649
649 if (mask & BIT(NL80211_STA_FLAG_AUTHORIZED)) { 650 if (mask & BIT(NL80211_STA_FLAG_AUTHORIZED)) {
650 sta->flags &= ~WLAN_STA_AUTHORIZED; 651 sta->flags &= ~WLAN_STA_AUTHORIZED;
651 if (set & BIT(NL80211_STA_FLAG_AUTHORIZED)) 652 if (set & BIT(NL80211_STA_FLAG_AUTHORIZED))
652 sta->flags |= WLAN_STA_AUTHORIZED; 653 sta->flags |= WLAN_STA_AUTHORIZED;
653 } 654 }
654 655
655 if (mask & BIT(NL80211_STA_FLAG_SHORT_PREAMBLE)) { 656 if (mask & BIT(NL80211_STA_FLAG_SHORT_PREAMBLE)) {
656 sta->flags &= ~WLAN_STA_SHORT_PREAMBLE; 657 sta->flags &= ~WLAN_STA_SHORT_PREAMBLE;
657 if (set & BIT(NL80211_STA_FLAG_SHORT_PREAMBLE)) 658 if (set & BIT(NL80211_STA_FLAG_SHORT_PREAMBLE))
658 sta->flags |= WLAN_STA_SHORT_PREAMBLE; 659 sta->flags |= WLAN_STA_SHORT_PREAMBLE;
659 } 660 }
660 661
661 if (mask & BIT(NL80211_STA_FLAG_WME)) { 662 if (mask & BIT(NL80211_STA_FLAG_WME)) {
662 sta->flags &= ~WLAN_STA_WME; 663 sta->flags &= ~WLAN_STA_WME;
663 if (set & BIT(NL80211_STA_FLAG_WME)) 664 if (set & BIT(NL80211_STA_FLAG_WME))
664 sta->flags |= WLAN_STA_WME; 665 sta->flags |= WLAN_STA_WME;
665 } 666 }
666 667
667 if (mask & BIT(NL80211_STA_FLAG_MFP)) { 668 if (mask & BIT(NL80211_STA_FLAG_MFP)) {
668 sta->flags &= ~WLAN_STA_MFP; 669 sta->flags &= ~WLAN_STA_MFP;
669 if (set & BIT(NL80211_STA_FLAG_MFP)) 670 if (set & BIT(NL80211_STA_FLAG_MFP))
670 sta->flags |= WLAN_STA_MFP; 671 sta->flags |= WLAN_STA_MFP;
671 } 672 }
672 » spin_unlock_bh(&sta->lock); 673 » spin_unlock_irqrestore(&sta->flaglock, flags);
673 674
674 /* 675 /*
675 * cfg80211 validates this (1-2007) and allows setting the AID 676 * cfg80211 validates this (1-2007) and allows setting the AID
676 * only when creating a new station entry 677 * only when creating a new station entry
677 */ 678 */
678 if (params->aid) 679 if (params->aid)
679 sta->sta.aid = params->aid; 680 sta->sta.aid = params->aid;
680 681
681 /* 682 /*
682 * FIXME: updating the following information is racy when this 683 * FIXME: updating the following information is racy when this
(...skipping 975 matching lines...) Expand 10 before | Expand all | Expand 10 after
1658 .rfkill_poll = ieee80211_rfkill_poll, 1659 .rfkill_poll = ieee80211_rfkill_poll,
1659 CFG80211_TESTMODE_CMD(ieee80211_testmode_cmd) 1660 CFG80211_TESTMODE_CMD(ieee80211_testmode_cmd)
1660 .set_power_mgmt = ieee80211_set_power_mgmt, 1661 .set_power_mgmt = ieee80211_set_power_mgmt,
1661 .set_bitrate_mask = ieee80211_set_bitrate_mask, 1662 .set_bitrate_mask = ieee80211_set_bitrate_mask,
1662 .remain_on_channel = ieee80211_remain_on_channel, 1663 .remain_on_channel = ieee80211_remain_on_channel,
1663 .cancel_remain_on_channel = ieee80211_cancel_remain_on_channel, 1664 .cancel_remain_on_channel = ieee80211_cancel_remain_on_channel,
1664 .action = ieee80211_action, 1665 .action = ieee80211_action,
1665 .set_cqm_rssi_config = ieee80211_set_cqm_rssi_config, 1666 .set_cqm_rssi_config = ieee80211_set_cqm_rssi_config,
1666 .set_cqm_bitrate_config = ieee80211_set_cqm_bitrate_config, 1667 .set_cqm_bitrate_config = ieee80211_set_cqm_bitrate_config,
1667 }; 1668 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698