From: Don Fry <[email protected]>

commit 41504cce240f791f1e16561db95728c5537fbad9 upstream.

New iwlwifi-5000 microcode requires driver support for API version 5.

Signed-off-by: Don Fry <[email protected]>
Signed-off-by: Wey-Yi Guy <[email protected]>
Signed-off-by: Stanislaw Gruszka <[email protected]>
---
Resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=695712

 drivers/net/wireless/iwlwifi/iwl-5000.c   |    2 +-
 drivers/net/wireless/iwlwifi/iwl-agn-tx.c |    3 +--
 net/mac80211/cfg.c                        |    1 +
 net/mac80211/chan.c                       |    3 +++
 net/mac80211/mlme.c                       |    6 ++----
 5 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c 
b/drivers/net/wireless/iwlwifi/iwl-5000.c
index a28af7e..0a67558 100644
--- a/drivers/net/wireless/iwlwifi/iwl-5000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-5000.c
@@ -51,7 +51,7 @@
 #include "iwl-agn-debugfs.h"
 
 /* Highest firmware API version supported */
-#define IWL5000_UCODE_API_MAX 2
+#define IWL5000_UCODE_API_MAX 5
 #define IWL5150_UCODE_API_MAX 2
 
 /* Lowest firmware API version supported */
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-tx.c 
b/drivers/net/wireless/iwlwifi/iwl-agn-tx.c
index 3a3d27c..5e0e631 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-tx.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-tx.c
@@ -1253,8 +1253,7 @@ void iwlagn_hwrate_to_tx_control(struct iwl_priv *priv, 
u32 rate_n_flags,
  * Handles block-acknowledge notification from device, which reports success
  * of frames sent via aggregation.
  */
-void iwlagn_rx_reply_compressed_ba(struct iwl_priv *priv,
-                                          struct iwl_rx_mem_buffer *rxb)
+void iwlagn_rx_reply_compressed_ba(struct iwl_priv *priv, struct 
iwl_rx_mem_buffer *rxb)
 {
        struct iwl_rx_packet *pkt = rxb_addr(rxb);
        struct iwl_compressed_ba_resp *ba_resp = &pkt->u.compressed_ba;
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index e8f3545..43088fe 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -1221,6 +1221,7 @@ static int ieee80211_scan(struct wiphy *wiphy,
 
        sdata = IEEE80211_DEV_TO_SUB_IF(dev);
 
+       if 
        if (sdata->vif.type != NL80211_IFTYPE_STATION &&
            sdata->vif.type != NL80211_IFTYPE_ADHOC &&
            sdata->vif.type != NL80211_IFTYPE_MESH_POINT &&
diff --git a/net/mac80211/chan.c b/net/mac80211/chan.c
index 32be11e..f0d80d4 100644
--- a/net/mac80211/chan.c
+++ b/net/mac80211/chan.c
@@ -77,6 +77,9 @@ bool ieee80211_set_channel_type(struct ieee80211_local *local,
                switch (tmp->vif.bss_conf.channel_type) {
                case NL80211_CHAN_NO_HT:
                case NL80211_CHAN_HT20:
+                       if (superchan > tmp->vif.bss_conf.channel_type)
+                               break;
+
                        superchan = tmp->vif.bss_conf.channel_type;
                        break;
                case NL80211_CHAN_HT40PLUS:
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 090b3e6..e716b9e 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -2407,10 +2407,8 @@ int ieee80211_mgd_action(struct ieee80211_sub_if_data 
*sdata,
        struct sk_buff *skb;
 
        /* Check that we are on the requested channel for transmission */
-       if ((chan != local->tmp_channel ||
-            channel_type != local->tmp_channel_type) &&
-           (chan != local->oper_channel ||
-            channel_type != local->_oper_channel_type))
+       if ((chan != local->tmp_channel || channel_type != 
local->tmp_channel_type) &&
+           (chan != local->oper_channel || channel_type != 
local->_oper_channel_type))
                return -EBUSY;
 
        skb = dev_alloc_skb(local->hw.extra_tx_headroom + len);
-- 
1.7.1

_______________________________________________
stable mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/stable

Reply via email to