[kernel/f16] Fix oops in iwlwifi/iwlagn driver (rhbz 766071)

Josh Boyer jwboyer at fedoraproject.org
Mon Jan 23 14:56:14 UTC 2012


commit e4e2bcb5072584569af1a7d8ba5fc707b79247c9
Author: Josh Boyer <jwboyer at redhat.com>
Date:   Mon Jan 23 09:53:44 2012 -0500

    Fix oops in iwlwifi/iwlagn driver (rhbz 766071)

 iwlagn-check-for-SMPS-mode.patch |   43 ++++++++++++++++++++++++++++++++++++++
 kernel.spec                      |    9 +++++++-
 2 files changed, 51 insertions(+), 1 deletions(-)
---
diff --git a/iwlagn-check-for-SMPS-mode.patch b/iwlagn-check-for-SMPS-mode.patch
new file mode 100644
index 0000000..ae42747
--- /dev/null
+++ b/iwlagn-check-for-SMPS-mode.patch
@@ -0,0 +1,43 @@
+From b2ccccdca46273c7b321ecf5041c362cd950da20 Mon Sep 17 00:00:00 2001
+From: Wey-Yi Guy <wey-yi.w.guy at intel.com>
+Date: Thu, 10 Nov 2011 06:55:04 -0800
+Subject: [PATCH] iwlagn: check for SMPS mode
+
+Check and report WARN only when its invalid
+
+Signed-off-by: Wey-Yi Guy <wey-yi.w.guy at intel.com>
+Signed-off-by: John W. Linville <linville at tuxdriver.com>
+---
+ drivers/net/wireless/iwlwifi/iwl-agn-lib.c  |    1 +
+ drivers/net/wireless/iwlwifi/iwl-agn-rxon.c |    3 +++
+ 2 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
+index 1a52ed2..6465983 100644
+--- a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
++++ b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
+@@ -827,6 +827,7 @@ static int iwl_get_idle_rx_chain_count(struct iwl_priv *priv, int active_cnt)
+ 	case IEEE80211_SMPS_STATIC:
+ 	case IEEE80211_SMPS_DYNAMIC:
+ 		return IWL_NUM_IDLE_CHAINS_SINGLE;
++	case IEEE80211_SMPS_AUTOMATIC:
+ 	case IEEE80211_SMPS_OFF:
+ 		return active_cnt;
+ 	default:
+diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
+index 4c52bee..8e45fba 100644
+--- a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
++++ b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
+@@ -542,6 +542,9 @@ int iwlagn_mac_config(struct ieee80211_hw *hw, u32 changed)
+ 
+ 	mutex_lock(&priv->shrd->mutex);
+ 
++	if (test_bit(STATUS_EXIT_PENDING, &priv->shrd->status))
++		goto out;
++
+ 	if (unlikely(test_bit(STATUS_SCANNING, &priv->shrd->status))) {
+ 		IWL_DEBUG_MAC80211(priv, "leave - scanning\n");
+ 		goto out;
+-- 
+1.7.7.5
+
diff --git a/kernel.spec b/kernel.spec
index 87308e0..3ca8d4d 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -54,7 +54,7 @@ Summary: The Linux kernel
 # For non-released -rc kernels, this will be appended after the rcX and
 # gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
 #
-%global baserelease 2
+%global baserelease 3
 %global fedora_build %{baserelease}
 
 # base_sublevel is the kernel version we're starting with and patching
@@ -810,6 +810,9 @@ Patch21227: mac80211-fix-work-removal-on-deauth-request.patch
 #rhbz 781625
 Patch21228: SCSI-sym53c8xx-Fix-NULL-pointer-dereference-in-slave.patch
 
+#rhbz 766071
+Patch21229: iwlagn-check-for-SMPS-mode.patch
+
 Patch22000: rcu-reintroduce-missing-calls.patch
 
 
@@ -1502,6 +1505,9 @@ ApplyPatch mac80211-fix-work-removal-on-deauth-request.patch
 #rhbz 781625
 ApplyPatch SCSI-sym53c8xx-Fix-NULL-pointer-dereference-in-slave.patch
 
+#rhbz 766071
+ApplyPatch iwlagn-check-for-SMPS-mode.patch
+
 ApplyPatch rcu-reintroduce-missing-calls.patch
 
 # END OF PATCH APPLICATIONS
@@ -2281,6 +2287,7 @@ fi
 
 %changelog
 * Mon Jan 23 2012 Josh Boyer <jwboyer at redhat.com>
+- Fix oops in iwlwifi/iwlagn driver (rhbz 766071)
 - Fix NULL pointer dereference in sym53c8xx module (rhbz 781625)
 
 * Fri Jan 20 2012 Dave Jones <davej at redhat.com>


More information about the scm-commits mailing list