summaryrefslogtreecommitdiffstats
path: root/iwlegacy-fix-IBSS-cleanup.patch
diff options
context:
space:
mode:
authorJosh Boyer <jwboyer@redhat.com>2013-01-29 11:45:45 -0500
committerJosh Boyer <jwboyer@redhat.com>2013-01-29 11:53:49 -0500
commit1a1f3b0695c84dc925b62af6398fcb4798f5c2fd (patch)
tree248d47a64d220ca48886f29c2f31f0fb8bebd8d7 /iwlegacy-fix-IBSS-cleanup.patch
parent655567cad9234701704192050d2fbf2b11e55803 (diff)
downloadkernel-1a1f3b0695c84dc925b62af6398fcb4798f5c2fd.tar.gz
kernel-1a1f3b0695c84dc925b62af6398fcb4798f5c2fd.tar.xz
kernel-1a1f3b0695c84dc925b62af6398fcb4798f5c2fd.zip
Linux v3.8-rc5-150-g6abb7c2
Diffstat (limited to 'iwlegacy-fix-IBSS-cleanup.patch')
-rw-r--r--iwlegacy-fix-IBSS-cleanup.patch104
1 files changed, 0 insertions, 104 deletions
diff --git a/iwlegacy-fix-IBSS-cleanup.patch b/iwlegacy-fix-IBSS-cleanup.patch
deleted file mode 100644
index 5533aed75..000000000
--- a/iwlegacy-fix-IBSS-cleanup.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-From 658f1bd2dd632209df00ec66349e15941ffdd83b Mon Sep 17 00:00:00 2001
-From: Stanislaw Gruszka <sgruszka@redhat.com>
-Date: Wed, 16 Jan 2013 10:28:09 +0000
-Subject: [PATCH 3.8] iwlegacy: fix IBSS cleanup
-
-We do not correctly change interface type when switching from
-IBSS mode to STA mode, that results in microcode errors.
-
-Resolves:
-https://bugzilla.redhat.com/show_bug.cgi?id=886946
-
-Reported-by: Jaroslav Skarvada <jskarvad@redhat.com>
-Cc: stable@vger.kernel.org
-Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
----
- drivers/net/wireless/iwlegacy/common.c | 35 ++++++++++++++--------------------
- 1 file changed, 14 insertions(+), 21 deletions(-)
-
-diff --git a/drivers/net/wireless/iwlegacy/common.c b/drivers/net/wireless/iwlegacy/common.c
-index 7e16d10..90b8970 100644
---- a/drivers/net/wireless/iwlegacy/common.c
-+++ b/drivers/net/wireless/iwlegacy/common.c
-@@ -3958,17 +3958,21 @@ il_connection_init_rx_config(struct il_priv *il)
-
- memset(&il->staging, 0, sizeof(il->staging));
-
-- if (!il->vif) {
-+ switch (il->iw_mode) {
-+ case NL80211_IFTYPE_UNSPECIFIED:
- il->staging.dev_type = RXON_DEV_TYPE_ESS;
-- } else if (il->vif->type == NL80211_IFTYPE_STATION) {
-+ break;
-+ case NL80211_IFTYPE_STATION:
- il->staging.dev_type = RXON_DEV_TYPE_ESS;
- il->staging.filter_flags = RXON_FILTER_ACCEPT_GRP_MSK;
-- } else if (il->vif->type == NL80211_IFTYPE_ADHOC) {
-+ break;
-+ case NL80211_IFTYPE_ADHOC:
- il->staging.dev_type = RXON_DEV_TYPE_IBSS;
- il->staging.flags = RXON_FLG_SHORT_PREAMBLE_MSK;
- il->staging.filter_flags =
- RXON_FILTER_BCON_AWARE_MSK | RXON_FILTER_ACCEPT_GRP_MSK;
-- } else {
-+ break;
-+ default:
- IL_ERR("Unsupported interface type %d\n", il->vif->type);
- return;
- }
-@@ -4550,8 +4554,7 @@ out:
- EXPORT_SYMBOL(il_mac_add_interface);
-
- static void
--il_teardown_interface(struct il_priv *il, struct ieee80211_vif *vif,
-- bool mode_change)
-+il_teardown_interface(struct il_priv *il, struct ieee80211_vif *vif)
- {
- lockdep_assert_held(&il->mutex);
-
-@@ -4560,9 +4563,7 @@ il_teardown_interface(struct il_priv *il, struct ieee80211_vif *vif,
- il_force_scan_end(il);
- }
-
-- if (!mode_change)
-- il_set_mode(il);
--
-+ il_set_mode(il);
- }
-
- void
-@@ -4575,8 +4576,8 @@ il_mac_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
-
- WARN_ON(il->vif != vif);
- il->vif = NULL;
--
-- il_teardown_interface(il, vif, false);
-+ il->iw_mode = NL80211_IFTYPE_UNSPECIFIED;
-+ il_teardown_interface(il, vif);
- memset(il->bssid, 0, ETH_ALEN);
-
- D_MAC80211("leave\n");
-@@ -4685,18 +4686,10 @@ il_mac_change_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
- }
-
- /* success */
-- il_teardown_interface(il, vif, true);
- vif->type = newtype;
- vif->p2p = false;
-- err = il_set_mode(il);
-- WARN_ON(err);
-- /*
-- * We've switched internally, but submitting to the
-- * device may have failed for some reason. Mask this
-- * error, because otherwise mac80211 will not switch
-- * (and set the interface type back) and we'll be
-- * out of sync with it.
-- */
-+ il->iw_mode = newtype;
-+ il_teardown_interface(il, vif);
- err = 0;
-
- out:
---
-1.8.0.2
-