[PATCH stable] iwlagn: Support new 5000 microcode.

Stanislaw Gruszka sgruszka at redhat.com
Fri Apr 22 12:29:48 UTC 2011


On Fri, Apr 22, 2011 at 02:10:17PM +0200, Stanislaw Gruszka wrote:
> From: Don Fry <donald.h.fry at intel.com>
> 
> commit 41504cce240f791f1e16561db95728c5537fbad9 upstream.
> 
> New iwlwifi-5000 microcode requires driver support for API version 5.
> 
> Signed-off-by: Don Fry <donald.h.fry at intel.com>
> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy at intel.com>
> Signed-off-by: Stanislaw Gruszka <sgruszka at 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;
> +
>  			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
> 


More information about the kernel mailing list