aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2x00mac.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2014-07-08 17:20:31 -0400
committerDavid S. Miller <davem@davemloft.net>2014-07-08 17:20:31 -0400
commit72948cdcbbcb5cd6b85c0a724a228b735d198212 (patch)
tree96b61b260afc51eb12768566228bf29756b264ad /drivers/net/wireless/rt2x00/rt2x00mac.c
parent9f12fbe603f7ae346b2b46008e325f0c9a68e55d (diff)
parentf473832fece16611520bf54ad52b16c3f6db0a94 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next
John W. Linville says: ==================== pull request: wireless-next 2014-07-03 Please pull this first batch of wireless updates intended for the 3.17 stream... For the mac80211 bits, Johannes says: "The biggest thing here is probably Arik's TDLS rework, beyond that we have smaller improvements and features like David's scanning IE thing, Luca's queue work, some CSA work, etc. Also your PID rate control removal, of course." For the iwlwifi bits, Emmanuel says: "I have here a whole bunch of various things. Andy contributes better debug prints for dvm specific flows and a module parameter to completely disable power save for dvm. Andrei is sharing the premises of his work on CSA - more to come. Eran and Liad keep on working on the new devices. I have the regular amount of BT Coex stuff and I continue to work on the firmware error report system adding more debug capabilities. More to come on that subject too." On top of that, there are some cleanups to the new rsi driver, some continuing improvements to the rtl818x drivers, and the usual bundles of updates to ath9k, b43, mwifiex, wil6210, and a few other bits here and there. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00mac.c')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00mac.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00mac.c b/drivers/net/wireless/rt2x00/rt2x00mac.c
index 004dff9b962d..ad6e5a8d1e10 100644
--- a/drivers/net/wireless/rt2x00/rt2x00mac.c
+++ b/drivers/net/wireless/rt2x00/rt2x00mac.c
@@ -626,25 +626,24 @@ void rt2x00mac_bss_info_changed(struct ieee80211_hw *hw,
626 * Start/stop beaconing. 626 * Start/stop beaconing.
627 */ 627 */
628 if (changes & BSS_CHANGED_BEACON_ENABLED) { 628 if (changes & BSS_CHANGED_BEACON_ENABLED) {
629 mutex_lock(&intf->beacon_skb_mutex);
629 if (!bss_conf->enable_beacon && intf->enable_beacon) { 630 if (!bss_conf->enable_beacon && intf->enable_beacon) {
630 rt2x00dev->intf_beaconing--; 631 rt2x00dev->intf_beaconing--;
631 intf->enable_beacon = false; 632 intf->enable_beacon = false;
632 /*
633 * Clear beacon in the H/W for this vif. This is needed
634 * to disable beaconing on this particular interface
635 * and keep it running on other interfaces.
636 */
637 rt2x00queue_clear_beacon(rt2x00dev, vif);
638 633
639 if (rt2x00dev->intf_beaconing == 0) { 634 if (rt2x00dev->intf_beaconing == 0) {
640 /* 635 /*
641 * Last beaconing interface disabled 636 * Last beaconing interface disabled
642 * -> stop beacon queue. 637 * -> stop beacon queue.
643 */ 638 */
644 mutex_lock(&intf->beacon_skb_mutex);
645 rt2x00queue_stop_queue(rt2x00dev->bcn); 639 rt2x00queue_stop_queue(rt2x00dev->bcn);
646 mutex_unlock(&intf->beacon_skb_mutex);
647 } 640 }
641 /*
642 * Clear beacon in the H/W for this vif. This is needed
643 * to disable beaconing on this particular interface
644 * and keep it running on other interfaces.
645 */
646 rt2x00queue_clear_beacon(rt2x00dev, vif);
648 } else if (bss_conf->enable_beacon && !intf->enable_beacon) { 647 } else if (bss_conf->enable_beacon && !intf->enable_beacon) {
649 rt2x00dev->intf_beaconing++; 648 rt2x00dev->intf_beaconing++;
650 intf->enable_beacon = true; 649 intf->enable_beacon = true;
@@ -660,11 +659,10 @@ void rt2x00mac_bss_info_changed(struct ieee80211_hw *hw,
660 * First beaconing interface enabled 659 * First beaconing interface enabled
661 * -> start beacon queue. 660 * -> start beacon queue.
662 */ 661 */
663 mutex_lock(&intf->beacon_skb_mutex);
664 rt2x00queue_start_queue(rt2x00dev->bcn); 662 rt2x00queue_start_queue(rt2x00dev->bcn);
665 mutex_unlock(&intf->beacon_skb_mutex);
666 } 663 }
667 } 664 }
665 mutex_unlock(&intf->beacon_skb_mutex);
668 } 666 }
669 667
670 /* 668 /*
@@ -801,6 +799,8 @@ int rt2x00mac_set_antenna(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant)
801 799
802 setup.tx = tx_ant; 800 setup.tx = tx_ant;
803 setup.rx = rx_ant; 801 setup.rx = rx_ant;
802 setup.rx_chain_num = 0;
803 setup.tx_chain_num = 0;
804 804
805 rt2x00lib_config_antenna(rt2x00dev, setup); 805 rt2x00lib_config_antenna(rt2x00dev, setup);
806 806