summarylogtreecommitdiffstats
path: root/0009-iwlwifi-mvm-rs-fix-search-cycle-rules.patch
diff options
context:
space:
mode:
Diffstat (limited to '0009-iwlwifi-mvm-rs-fix-search-cycle-rules.patch')
-rw-r--r--0009-iwlwifi-mvm-rs-fix-search-cycle-rules.patch125
1 files changed, 125 insertions, 0 deletions
diff --git a/0009-iwlwifi-mvm-rs-fix-search-cycle-rules.patch b/0009-iwlwifi-mvm-rs-fix-search-cycle-rules.patch
new file mode 100644
index 000000000000..5acbf53ddf73
--- /dev/null
+++ b/0009-iwlwifi-mvm-rs-fix-search-cycle-rules.patch
@@ -0,0 +1,125 @@
+From 06af061dd673d749d5516bea41e2becb034e00b8 Mon Sep 17 00:00:00 2001
+From: Eyal Shapira <eyal@wizery.com>
+Date: Sun, 16 Mar 2014 05:23:21 +0200
+Subject: [PATCH 09/10] iwlwifi: mvm: rs: fix search cycle rules
+
+commit 8930b05090acd321b1fc7c642528c697cb105c42 upstream.
+
+We should explore all possible columns when searching to be
+as resilient as possible to changing conditions. This fixes
+for example a scenario where even after a sudden creation of
+rssi difference between the 2 antennas we would keep doing MIMO
+at a low rate instead of switching to SISO at a higher rate using
+the better antenna which was the optimal configuration.
+
+Signed-off-by: Eyal Shapira <eyalx.shapira@intel.com>
+Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/net/wireless/iwlwifi/mvm/rs.c | 36 +++++++++++++++++------------------
+ 1 file changed, 18 insertions(+), 18 deletions(-)
+
+diff --git a/drivers/net/wireless/iwlwifi/mvm/rs.c b/drivers/net/wireless/iwlwifi/mvm/rs.c
+index 6abf74e..5bc8715 100644
+--- a/drivers/net/wireless/iwlwifi/mvm/rs.c
++++ b/drivers/net/wireless/iwlwifi/mvm/rs.c
+@@ -211,9 +211,9 @@ static const struct rs_tx_column rs_tx_columns[] = {
+ .next_columns = {
+ RS_COLUMN_LEGACY_ANT_B,
+ RS_COLUMN_SISO_ANT_A,
++ RS_COLUMN_SISO_ANT_B,
+ RS_COLUMN_MIMO2,
+- RS_COLUMN_INVALID,
+- RS_COLUMN_INVALID,
++ RS_COLUMN_MIMO2_SGI,
+ },
+ },
+ [RS_COLUMN_LEGACY_ANT_B] = {
+@@ -221,10 +221,10 @@ static const struct rs_tx_column rs_tx_columns[] = {
+ .ant = ANT_B,
+ .next_columns = {
+ RS_COLUMN_LEGACY_ANT_A,
++ RS_COLUMN_SISO_ANT_A,
+ RS_COLUMN_SISO_ANT_B,
+ RS_COLUMN_MIMO2,
+- RS_COLUMN_INVALID,
+- RS_COLUMN_INVALID,
++ RS_COLUMN_MIMO2_SGI,
+ },
+ },
+ [RS_COLUMN_SISO_ANT_A] = {
+@@ -234,8 +234,8 @@ static const struct rs_tx_column rs_tx_columns[] = {
+ RS_COLUMN_SISO_ANT_B,
+ RS_COLUMN_MIMO2,
+ RS_COLUMN_SISO_ANT_A_SGI,
+- RS_COLUMN_INVALID,
+- RS_COLUMN_INVALID,
++ RS_COLUMN_SISO_ANT_B_SGI,
++ RS_COLUMN_MIMO2_SGI,
+ },
+ .checks = {
+ rs_siso_allow,
+@@ -248,8 +248,8 @@ static const struct rs_tx_column rs_tx_columns[] = {
+ RS_COLUMN_SISO_ANT_A,
+ RS_COLUMN_MIMO2,
+ RS_COLUMN_SISO_ANT_B_SGI,
+- RS_COLUMN_INVALID,
+- RS_COLUMN_INVALID,
++ RS_COLUMN_SISO_ANT_A_SGI,
++ RS_COLUMN_MIMO2_SGI,
+ },
+ .checks = {
+ rs_siso_allow,
+@@ -263,8 +263,8 @@ static const struct rs_tx_column rs_tx_columns[] = {
+ RS_COLUMN_SISO_ANT_B_SGI,
+ RS_COLUMN_MIMO2_SGI,
+ RS_COLUMN_SISO_ANT_A,
+- RS_COLUMN_INVALID,
+- RS_COLUMN_INVALID,
++ RS_COLUMN_SISO_ANT_B,
++ RS_COLUMN_MIMO2,
+ },
+ .checks = {
+ rs_siso_allow,
+@@ -279,8 +279,8 @@ static const struct rs_tx_column rs_tx_columns[] = {
+ RS_COLUMN_SISO_ANT_A_SGI,
+ RS_COLUMN_MIMO2_SGI,
+ RS_COLUMN_SISO_ANT_B,
+- RS_COLUMN_INVALID,
+- RS_COLUMN_INVALID,
++ RS_COLUMN_SISO_ANT_A,
++ RS_COLUMN_MIMO2,
+ },
+ .checks = {
+ rs_siso_allow,
+@@ -292,10 +292,10 @@ static const struct rs_tx_column rs_tx_columns[] = {
+ .ant = ANT_AB,
+ .next_columns = {
+ RS_COLUMN_SISO_ANT_A,
++ RS_COLUMN_SISO_ANT_B,
++ RS_COLUMN_SISO_ANT_A_SGI,
++ RS_COLUMN_SISO_ANT_B_SGI,
+ RS_COLUMN_MIMO2_SGI,
+- RS_COLUMN_INVALID,
+- RS_COLUMN_INVALID,
+- RS_COLUMN_INVALID,
+ },
+ .checks = {
+ rs_mimo_allow,
+@@ -307,10 +307,10 @@ static const struct rs_tx_column rs_tx_columns[] = {
+ .sgi = true,
+ .next_columns = {
+ RS_COLUMN_SISO_ANT_A_SGI,
++ RS_COLUMN_SISO_ANT_B_SGI,
++ RS_COLUMN_SISO_ANT_A,
++ RS_COLUMN_SISO_ANT_B,
+ RS_COLUMN_MIMO2,
+- RS_COLUMN_INVALID,
+- RS_COLUMN_INVALID,
+- RS_COLUMN_INVALID,
+ },
+ .checks = {
+ rs_mimo_allow,
+--
+1.9.2
+