From: Don Fry donald.h.fry@intel.com
commit 41504cce240f791f1e16561db95728c5537fbad9 upstream.
New iwlwifi-5000 microcode requires driver support for API version 5.
Signed-off-by: Don Fry donald.h.fry@intel.com Signed-off-by: Wey-Yi Guy wey-yi.w.guy@intel.com Signed-off-by: Stanislaw Gruszka sgruszka@redhat.com --- 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);
--- 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;
Useless hunk that only reformats code.
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 &&
Stray "if" with no conditional?
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);
Useless hunk that only reformats code.
On Fri, Apr 22, 2011 at 02:10:17PM +0200, Stanislaw Gruszka wrote:
From: Don Fry donald.h.fry@intel.com
commit 41504cce240f791f1e16561db95728c5537fbad9 upstream.
New iwlwifi-5000 microcode requires driver support for API version 5.
Signed-off-by: Don Fry donald.h.fry@intel.com Signed-off-by: Wey-Yi Guy wey-yi.w.guy@intel.com Signed-off-by: Stanislaw Gruszka sgruszka@redhat.com
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 ++----
Opps sorry post wrong diff, will resend.
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;
case NL80211_CHAN_HT40PLUS:superchan = tmp->vif.bss_conf.channel_type; break;
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
kernel@lists.fedoraproject.org