diff options
author | David S. Miller <davem@davemloft.net> | 2014-07-08 17:20:31 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-07-08 17:20:31 -0400 |
commit | 72948cdcbbcb5cd6b85c0a724a228b735d198212 (patch) | |
tree | 96b61b260afc51eb12768566228bf29756b264ad /drivers/net/wireless/rt2x00/rt2x00mac.c | |
parent | 9f12fbe603f7ae346b2b46008e325f0c9a68e55d (diff) | |
parent | f473832fece16611520bf54ad52b16c3f6db0a94 (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.c | 20 |
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 | ||