diff --git a/ath9k-fix-max-phy-rate-at-rate-control-init.patch b/ath9k-fix-max-phy-rate-at-rate-control-init.patch deleted file mode 100644 index cb0719b7c..000000000 --- a/ath9k-fix-max-phy-rate-at-rate-control-init.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 10636bc2d60942254bda149827b922c41f4cb4af Mon Sep 17 00:00:00 2001 -From: Rajkumar Manoharan -Date: Sat, 10 Dec 2011 18:59:43 +0530 -Subject: [PATCH 03/10] ath9k: fix max phy rate at rate control init - -The stations always chooses 1Mbps for all trasmitting frames, -whenever the AP is configured to lock the supported rates. -As the max phy rate is always set with the 4th from highest phy rate, -this assumption might be wrong if we have less than that. Fix that. - -Cc: stable@kernel.org -Cc: Paul Stewart -Reported-by: Ajay Gummalla -Signed-off-by: Rajkumar Manoharan -Signed-off-by: John W. Linville ---- - drivers/net/wireless/ath/ath9k/rc.c | 4 +++- - 1 files changed, 3 insertions(+), 1 deletions(-) - -diff --git a/drivers/net/wireless/ath/ath9k/rc.c b/drivers/net/wireless/ath/ath9k/rc.c -index 8448281..cc5703b 100644 ---- a/drivers/net/wireless/ath/ath9k/rc.c -+++ b/drivers/net/wireless/ath/ath9k/rc.c -@@ -1270,7 +1270,9 @@ static void ath_rc_init(struct ath_softc *sc, - - ath_rc_priv->max_valid_rate = k; - ath_rc_sort_validrates(rate_table, ath_rc_priv); -- ath_rc_priv->rate_max_phy = ath_rc_priv->valid_rate_index[k-4]; -+ ath_rc_priv->rate_max_phy = (k > 4) ? -+ ath_rc_priv->valid_rate_index[k-4] : -+ ath_rc_priv->valid_rate_index[k-1]; - ath_rc_priv->rate_table = rate_table; - - ath_dbg(common, ATH_DBG_CONFIG, --- -1.7.4.4 - diff --git a/iwlwifi-allow-to-switch-to-HT40-if-not-associated.patch b/iwlwifi-allow-to-switch-to-HT40-if-not-associated.patch deleted file mode 100644 index 7ded9c83a..000000000 --- a/iwlwifi-allow-to-switch-to-HT40-if-not-associated.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 78feb35b8161acd95c33a703ed6ab6f554d29387 Mon Sep 17 00:00:00 2001 -From: Wey-Yi Guy -Date: Wed, 14 Dec 2011 08:22:36 -0800 -Subject: [PATCH 2/2] iwlwifi: allow to switch to HT40 if not associated - -My previous patch -34a5b4b6af104cf18eb50748509528b9bdbc4036 iwlwifi: do not re-configure -HT40 after associated - -Fix the case of HT40 after association on specified AP, but it break the -association for some APs and cause not able to establish connection. -We need to address HT40 before and after addociation. - -CC: stable@vger.kernel.org #3.0+ -Reported-by: Andrej Gelenberg -Signed-off-by: Wey-Yi Guy -Tested-by: Andrej Gelenberg -Signed-off-by: John W. Linville ---- - drivers/net/wireless/iwlwifi/iwl-agn-rxon.c | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c -index a7a6def..5c7c17c 100644 ---- a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c -+++ b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c -@@ -606,8 +606,8 @@ int iwlagn_mac_config(struct ieee80211_hw *hw, u32 changed) - if (ctx->ht.enabled) { - /* if HT40 is used, it should not change - * after associated except channel switch */ -- if (iwl_is_associated_ctx(ctx) && -- !ctx->ht.is_40mhz) -+ if (!ctx->ht.is_40mhz || -+ !iwl_is_associated_ctx(ctx)) - iwlagn_config_ht40(conf, ctx); - } else - ctx->ht.is_40mhz = false; --- -1.7.4.4 - diff --git a/iwlwifi-do-not-set-the-sequence-control-bit-is-not-n.patch b/iwlwifi-do-not-set-the-sequence-control-bit-is-not-n.patch deleted file mode 100644 index d65d1a790..000000000 --- a/iwlwifi-do-not-set-the-sequence-control-bit-is-not-n.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 123877b80ed62c3b897c53357b622574c023b642 Mon Sep 17 00:00:00 2001 -From: Wey-Yi Guy -Date: Thu, 8 Dec 2011 15:52:00 -0800 -Subject: [PATCH 01/10] iwlwifi: do not set the sequence control bit is not - needed - -Check the IEEE80211_TX_CTL_ASSIGN_SEQ flag from mac80211, then decide how to -set the TX_CMD_FLG_SEQ_CTL_MSK bit. Setting the wrong bit in BAR frame whill -make the firmware to increment the sequence number which is incorrect and -cause unknown behavior. - -CC: stable@vger.kernel.org #3.0+ -Signed-off-by: Wey-Yi Guy -Signed-off-by: John W. Linville ---- - drivers/net/wireless/iwlwifi/iwl-agn-tx.c | 5 ++++- - 1 files changed, 4 insertions(+), 1 deletions(-) - -diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-tx.c b/drivers/net/wireless/iwlwifi/iwl-agn-tx.c -index 35a6b71..df1540c 100644 ---- a/drivers/net/wireless/iwlwifi/iwl-agn-tx.c -+++ b/drivers/net/wireless/iwlwifi/iwl-agn-tx.c -@@ -91,7 +91,10 @@ static void iwlagn_tx_cmd_build_basic(struct iwl_priv *priv, - tx_cmd->tid_tspec = qc[0] & 0xf; - tx_flags &= ~TX_CMD_FLG_SEQ_CTL_MSK; - } else { -- tx_flags |= TX_CMD_FLG_SEQ_CTL_MSK; -+ if (info->flags & IEEE80211_TX_CTL_ASSIGN_SEQ) -+ tx_flags |= TX_CMD_FLG_SEQ_CTL_MSK; -+ else -+ tx_flags &= ~TX_CMD_FLG_SEQ_CTL_MSK; - } - - iwlagn_tx_cmd_protection(priv, info, fc, &tx_flags); --- -1.7.4.4 - diff --git a/iwlwifi-tx_sync-only-on-PAN-context.patch b/iwlwifi-tx_sync-only-on-PAN-context.patch deleted file mode 100644 index 16086c0fa..000000000 --- a/iwlwifi-tx_sync-only-on-PAN-context.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 81670a491849127cd5f86defd2cd03cef1b08d07 Mon Sep 17 00:00:00 2001 -From: Johannes Berg -Date: Wed, 14 Dec 2011 08:22:35 -0800 -Subject: [PATCH 1/2] iwlwifi: tx_sync only on PAN context - -Ted reported that he couldn't connect to some APs -and bisected it to the tx_sync implementation. -Disable it for the BSS context to fix this issue. - -Reported-by: Ted Ts'o -Signed-off-by: Johannes Berg -Signed-off-by: Wey-Yi Guy -Signed-off-by: John W. Linville ---- - drivers/net/wireless/iwlwifi/iwl-agn.c | 6 ++++++ - 1 files changed, 6 insertions(+), 0 deletions(-) - -diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c -index bacc06c..e0e9a3d 100644 ---- a/drivers/net/wireless/iwlwifi/iwl-agn.c -+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c -@@ -2850,6 +2850,9 @@ static int iwlagn_mac_tx_sync(struct ieee80211_hw *hw, - int ret; - u8 sta_id; - -+ if (ctx->ctxid != IWL_RXON_CTX_PAN) -+ return 0; -+ - IWL_DEBUG_MAC80211(priv, "enter\n"); - mutex_lock(&priv->shrd->mutex); - -@@ -2898,6 +2901,9 @@ static void iwlagn_mac_finish_tx_sync(struct ieee80211_hw *hw, - struct iwl_vif_priv *vif_priv = (void *)vif->drv_priv; - struct iwl_rxon_context *ctx = vif_priv->ctx; - -+ if (ctx->ctxid != IWL_RXON_CTX_PAN) -+ return; -+ - IWL_DEBUG_MAC80211(priv, "enter\n"); - mutex_lock(&priv->shrd->mutex); - --- -1.7.4.4 - diff --git a/iwlwifi-update-SCD-BC-table-for-all-SCD-queues.patch b/iwlwifi-update-SCD-BC-table-for-all-SCD-queues.patch deleted file mode 100644 index f25d6e043..000000000 --- a/iwlwifi-update-SCD-BC-table-for-all-SCD-queues.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 96f1f05af76b601ab21a7dc603ae0a1cea4efc3d Mon Sep 17 00:00:00 2001 -From: Emmanuel Grumbach -Date: Fri, 16 Dec 2011 07:53:18 -0800 -Subject: [PATCH 10/10] iwlwifi: update SCD BC table for all SCD queues - -Since we configure all the queues as CHAINABLE, we need to update the -byte count for all the queues, not only the AGGREGATABLE ones. - -Not doing so can confuse the SCD and make the fw assert. - -Cc: stable@vger.kernel.org -Signed-off-by: Emmanuel Grumbach -Signed-off-by: Wey-Yi Guy -Signed-off-by: John W. Linville ---- - drivers/net/wireless/iwlwifi/iwl-trans-pcie.c | 4 +--- - 1 files changed, 1 insertions(+), 3 deletions(-) - -diff --git a/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c b/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c -index ce91898..5f17ab8 100644 ---- a/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c -+++ b/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c -@@ -1197,9 +1197,7 @@ static int iwl_trans_pcie_tx(struct iwl_trans *trans, struct sk_buff *skb, - iwl_print_hex_dump(trans, IWL_DL_TX, (u8 *)tx_cmd->hdr, hdr_len); - - /* Set up entry for this TFD in Tx byte-count array */ -- if (is_agg) -- iwl_trans_txq_update_byte_cnt_tbl(trans, txq, -- le16_to_cpu(tx_cmd->len)); -+ iwl_trans_txq_update_byte_cnt_tbl(trans, txq, le16_to_cpu(tx_cmd->len)); - - dma_sync_single_for_device(bus(trans)->dev, txcmd_phys, firstlen, - DMA_BIDIRECTIONAL); --- -1.7.4.4 - diff --git a/kernel.spec b/kernel.spec index 416476a47..9624022a8 100644 --- a/kernel.spec +++ b/kernel.spec @@ -205,7 +205,7 @@ Summary: The Linux kernel %define kversion 3.%{base_sublevel} # The compat-wireless version -%define cwversion 3.2-rc6-3 +%define cwversion 3.2-1 ####################################################################### # If cwversion is less than kversion, make sure with_backports is @@ -862,12 +862,6 @@ Patch21071: ext4-Fix-error-handling-on-inode-bitmap-corruption.patch Patch50000: compat-wireless-config-fixups.patch Patch50001: compat-wireless-change-CONFIG_IWLAGN-CONFIG_IWLWIFI.patch Patch50002: compat-wireless-pr_fmt-warning-avoidance.patch -Patch50100: iwlwifi-tx_sync-only-on-PAN-context.patch -Patch50101: ath9k-fix-max-phy-rate-at-rate-control-init.patch -Patch50102: iwlwifi-do-not-set-the-sequence-control-bit-is-not-n.patch -Patch50103: iwlwifi-update-SCD-BC-table-for-all-SCD-queues.patch -Patch50104: mwifiex-avoid-double-list_del-in-command-cancel-path.patch -Patch50105: iwlwifi-allow-to-switch-to-HT40-if-not-associated.patch #rhbz 771058 Patch22100: msi-irq-sysfs-warning.patch @@ -1673,14 +1667,6 @@ ApplyPatch compat-wireless-pr_fmt-warning-avoidance.patch # Remove overlap between bcma/b43 and brcmsmac and reenable bcm4331 ApplyPatch bcma-brcmsmac-compat.patch -# Apply some iwlwifi regression fixes not in the 3.2-rc6 wireless snapshot -ApplyPatch iwlwifi-do-not-set-the-sequence-control-bit-is-not-n.patch -ApplyPatch ath9k-fix-max-phy-rate-at-rate-control-init.patch -ApplyPatch mwifiex-avoid-double-list_del-in-command-cancel-path.patch -ApplyPatch iwlwifi-tx_sync-only-on-PAN-context.patch -ApplyPatch iwlwifi-allow-to-switch-to-HT40-if-not-associated.patch -ApplyPatch iwlwifi-update-SCD-BC-table-for-all-SCD-queues.patch - cd .. %endif @@ -2381,6 +2367,9 @@ fi # and build. %changelog +* Tue Jan 10 2012 John W. Linville +- Update compat-wireless snapshot to version 3.2-1 + * Tue Jan 10 2012 Josh Boyer - Add patch to fix ext4 compatibility with ext2 mount option (rhbz 770172) - Fix ext4 corrupted bitmap error path (pointed out by Eric Sandeen) diff --git a/mwifiex-avoid-double-list_del-in-command-cancel-path.patch b/mwifiex-avoid-double-list_del-in-command-cancel-path.patch deleted file mode 100644 index 90b695723..000000000 --- a/mwifiex-avoid-double-list_del-in-command-cancel-path.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 51e708c1049e721b9c5c48d026bc97ca8497d39a Mon Sep 17 00:00:00 2001 -From: Yogesh Ashok Powar -Date: Tue, 13 Dec 2011 20:43:16 -0800 -Subject: [PATCH 04/10] mwifiex: avoid double list_del in command cancel path - -Command cancel path cancels the current command and moves -it to free command queue. While doing that it deletes the -command entry from the pending list. This is not correct -as the entry has been already deleted from the pending -list at 'mwifiex_exec_next_cmd'. Fixing it. - -Also making sure the stale command pointer is cleaned and -unaccessible for later use. - -Signed-off-by: Yogesh Ashok Powar -Signed-off-by: Bing Zhao -Signed-off-by: John W. Linville ---- - drivers/net/wireless/mwifiex/cmdevt.c | 9 ++------- - 1 files changed, 2 insertions(+), 7 deletions(-) - -diff --git a/drivers/net/wireless/mwifiex/cmdevt.c b/drivers/net/wireless/mwifiex/cmdevt.c -index ac27815..6e0a3ea 100644 ---- a/drivers/net/wireless/mwifiex/cmdevt.c -+++ b/drivers/net/wireless/mwifiex/cmdevt.c -@@ -939,7 +939,6 @@ mwifiex_cancel_pending_ioctl(struct mwifiex_adapter *adapter) - { - struct cmd_ctrl_node *cmd_node = NULL, *tmp_node = NULL; - unsigned long cmd_flags; -- unsigned long cmd_pending_q_flags; - unsigned long scan_pending_q_flags; - uint16_t cancel_scan_cmd = false; - -@@ -949,12 +948,9 @@ mwifiex_cancel_pending_ioctl(struct mwifiex_adapter *adapter) - cmd_node = adapter->curr_cmd; - cmd_node->wait_q_enabled = false; - cmd_node->cmd_flag |= CMD_F_CANCELED; -- spin_lock_irqsave(&adapter->cmd_pending_q_lock, -- cmd_pending_q_flags); -- list_del(&cmd_node->list); -- spin_unlock_irqrestore(&adapter->cmd_pending_q_lock, -- cmd_pending_q_flags); - mwifiex_insert_cmd_to_free_q(adapter, cmd_node); -+ mwifiex_complete_cmd(adapter, adapter->curr_cmd); -+ adapter->curr_cmd = NULL; - spin_unlock_irqrestore(&adapter->mwifiex_cmd_lock, cmd_flags); - } - -@@ -981,7 +977,6 @@ mwifiex_cancel_pending_ioctl(struct mwifiex_adapter *adapter) - spin_unlock_irqrestore(&adapter->mwifiex_cmd_lock, cmd_flags); - } - adapter->cmd_wait_q.status = -1; -- mwifiex_complete_cmd(adapter, adapter->curr_cmd); - } - - /* --- -1.7.4.4 - diff --git a/sources b/sources index d3d58a5d7..41792bfcb 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ 8d43453f8159b2332ad410b19d86a931 linux-3.1.tar.bz2 -656f2b85102dc935039e867abd08b880 compat-wireless-3.2-rc6-3.tar.bz2 54fac8e4b0b55201e012ef0337a6cc87 patch-3.1.8.bz2 +204381bc537b689edcb15df0efed6467 compat-wireless-3.2-1.tar.bz2