rpms/kernel/F-11 iwl3945-add-debugging-for-wrong-command-queue.patch, NONE, 1.1 iwl3945-fix-rfkill-sw-and-hw-mishmash.patch, NONE, 1.1 iwl3945-release-resources-before-shutting-down.patch, NONE, 1.1 kernel.spec, 1.1678, 1.1679

Kyle McMartin kyle at fedoraproject.org
Thu Jul 23 18:05:38 UTC 2009


Author: kyle

Update of /cvs/pkgs/rpms/kernel/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv18623

Modified Files:
	kernel.spec 
Added Files:
	iwl3945-add-debugging-for-wrong-command-queue.patch 
	iwl3945-fix-rfkill-sw-and-hw-mishmash.patch 
	iwl3945-release-resources-before-shutting-down.patch 
Log Message:
* Thu Jul 23 2009 Kyle McMartin <kyle at redhat.com> 2.6.29.6-217
- Apply three patches requested by sgruszka at redhat.com:
 - iwl3945-release-resources-before-shutting-down.patch
 - iwl3945-add-debugging-for-wrong-command-queue.patch
 - iwl3945-fix-rfkill-sw-and-hw-mishmash.patch


iwl3945-add-debugging-for-wrong-command-queue.patch:
 iwl3945-base.c |   10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

--- NEW FILE iwl3945-add-debugging-for-wrong-command-queue.patch ---
commit 638d0eb9197d1e285451f6594184fcfc9c2a5d44
Author: Chatre, Reinette <reinette.chatre at intel.com>
Date:   Mon Jan 19 15:30:24 2009 -0800

    iwl3945: add debugging for wrong command queue

    We encountered a problem related to this BUG and need to obtain more
    debugging information. See bug report at
    http://marc.info/?l=linux-wireless&m=123147215829854&w=2

    Signed-off-by: Reinette Chatre <reinette.chatre at intel.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>
---
 drivers/net/wireless/iwlwifi/iwl3945-base.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index 8cb0fa2..5011a79 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -3349,7 +3349,14 @@ static void iwl3945_tx_cmd_complete(struct iwl3945_priv *priv,
 	int cmd_index;
 	struct iwl3945_cmd *cmd;
 
-	BUG_ON(txq_id != IWL_CMD_QUEUE_NUM);
+	if (WARN(txq_id != IWL_CMD_QUEUE_NUM,
+		 "wrong command queue %d, sequence 0x%X readp=%d writep=%d\n",
+		  txq_id, sequence,
+		  priv->txq[IWL_CMD_QUEUE_NUM].q.read_ptr,
+		  priv->txq[IWL_CMD_QUEUE_NUM].q.write_ptr)) {
+		/* Not in F11: iwl_print_hex_dump(priv, IWL_DL_INFO , rxb, 32); */
+		return;
+	}
 
 	cmd_index = get_cmd_index(&priv->txq[IWL_CMD_QUEUE_NUM].q, index, huge);
 	cmd = &priv->txq[IWL_CMD_QUEUE_NUM].cmd[cmd_index];
-- 
1.6.2.5

_______________________________________________
Fedora-kernel-list mailing list
Fedora-kernel-list at redhat.com
https://www.redhat.com/mailman/listinfo/fedora-kernel-list


iwl3945-fix-rfkill-sw-and-hw-mishmash.patch:
 iwl3945-base.c |   18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

--- NEW FILE iwl3945-fix-rfkill-sw-and-hw-mishmash.patch ---
Disable SW switch regardless of HW switch state (we can only enable
radio when both SW and HW rfkill switches are off). Report to rfkill
subsystem SW switch state before HW switch state to move rfkill subsystem
to SOFT_BLOCK rather than HARD_BLOCK, otherwise in some conditions we
would not be able to turn radio back on.
---
 drivers/net/wireless/iwlwifi/iwl3945-base.c |   17 +++++++----------
 1 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index 5011a79..6065921 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -8216,7 +8216,8 @@ static int iwl3945_rfkill_soft_rf_kill(void *data, enum rfkill_state state)
 	case RFKILL_STATE_UNBLOCKED:
 		if (iwl3945_is_rfkill_hw(priv)) {
 			err = -EBUSY;
-			goto out_unlock;
+			/* pass error to rfkill core to make it state HARD
+			 * BLOCKED and disable software kill switch */
 		}
 		iwl3945_radio_kill_sw(priv, 0);
 		break;
@@ -8227,9 +8228,8 @@ static int iwl3945_rfkill_soft_rf_kill(void *data, enum rfkill_state state)
 		IWL_WARNING("we received unexpected RFKILL state %d\n", state);
 		break;
 	}
-out_unlock:
-	mutex_unlock(&priv->mutex);
 
+	mutex_unlock(&priv->mutex);
 	return err;
 }
 
@@ -8291,15 +8291,12 @@ void iwl3945_rfkill_set_hw_state(struct iwl3945_priv *priv)
 	if (!priv->rfkill)
 		return;
 
-	if (iwl3945_is_rfkill_hw(priv)) {
+	if (iwl3945_is_rfkill_sw(priv))
+		rfkill_force_state(priv->rfkill, RFKILL_STATE_SOFT_BLOCKED);
+	else if (iwl3945_is_rfkill_hw(priv))
 		rfkill_force_state(priv->rfkill, RFKILL_STATE_HARD_BLOCKED);
-		return;
-	}
-
-	if (!iwl3945_is_rfkill_sw(priv))
-		rfkill_force_state(priv->rfkill, RFKILL_STATE_UNBLOCKED);
 	else
-		rfkill_force_state(priv->rfkill, RFKILL_STATE_SOFT_BLOCKED);
+		rfkill_force_state(priv->rfkill, RFKILL_STATE_UNBLOCKED);
 }
 #endif
 
-- 
1.6.2.5

_______________________________________________
Fedora-kernel-list mailing list
Fedora-kernel-list at redhat.com
https://www.redhat.com/mailman/listinfo/fedora-kernel-list


iwl3945-release-resources-before-shutting-down.patch:
 iwl3945-base.c |   11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

--- NEW FILE iwl3945-release-resources-before-shutting-down.patch ---
commit d552bfb65241a35d48e44ddb0d27e0454f579ab4
Author: Kolekar, Abhijeet <abhijeet.kolekar at intel.com>
Date:   Fri Dec 19 10:37:41 2008 +0800

    iwl3945: release resources before shutting down

    Release resource before shutting down and notify upper stack.

    Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar at intel.com>
    Signed-off-by: Zhu Yi <yi.zhu at intel.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>
---
 drivers/net/wireless/iwlwifi/iwl3945-base.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index 22e7e99..8cb0fa2 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -8096,7 +8096,12 @@ static void __devexit iwl3945_pci_remove(struct pci_dev *pdev)
 
 	set_bit(STATUS_EXIT_PENDING, &priv->status);
 
-	iwl3945_down(priv);
+	if (priv->mac80211_registered) {
+		ieee80211_unregister_hw(priv->hw);
+		priv->mac80211_registered = 0;
+	} else {
+		iwl3945_down(priv);
+	}
 
 	/* make sure we flush any pending irq or
 	 * tasklet for the driver
@@ -8121,9 +8126,6 @@ static void __devexit iwl3945_pci_remove(struct pci_dev *pdev)
 	iwl3945_unset_hw_setting(priv);
 	iwl3945_clear_stations_table(priv);
 
-	if (priv->mac80211_registered)
-		ieee80211_unregister_hw(priv->hw);
-
 	/*netif_stop_queue(dev); */
 	flush_workqueue(priv->workqueue);
 
-- 
1.6.2.5

_______________________________________________
Fedora-kernel-list mailing list
Fedora-kernel-list at redhat.com
https://www.redhat.com/mailman/listinfo/fedora-kernel-list



Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-11/kernel.spec,v
retrieving revision 1.1678
retrieving revision 1.1679
diff -u -p -r1.1678 -r1.1679
--- kernel.spec	23 Jul 2009 15:06:37 -0000	1.1678
+++ kernel.spec	23 Jul 2009 18:05:37 -0000	1.1679
@@ -684,6 +684,9 @@ Patch684: linux-2.6-iwlagn-fix-hw-rfkill
 Patch685: linux-2.6-mac80211-fix-beacon-loss-detection-after-scan.patch
 Patch686: linux-2.6-iwl3945-use-cancel_delayed_work_sync-to-cancel-rfkill_poll.patch
 Patch687: mac80211-don-t-drop-nullfunc-frames-during-software.patch
+Patch690: iwl3945-release-resources-before-shutting-down.patch
+Patch691: iwl3945-add-debugging-for-wrong-command-queue.patch
+Patch692: iwl3945-fix-rfkill-sw-and-hw-mishmash.patch
 
 Patch700: linux-2.6-dma-debug-fixes.patch
 
@@ -1391,6 +1394,10 @@ ApplyPatch linux-2.6-mac80211-fix-beacon
 
 ApplyPatch mac80211-don-t-drop-nullfunc-frames-during-software.patch
 
+ApplyPatch iwl3945-release-resources-before-shutting-down.patch
+ApplyPatch iwl3945-add-debugging-for-wrong-command-queue.patch
+ApplyPatch iwl3945-fix-rfkill-sw-and-hw-mishmash.patch
+
 # Fix up DMA debug code
 ApplyPatch linux-2.6-dma-debug-fixes.patch
 
@@ -2102,6 +2109,12 @@ fi
 # and build.
 
 %changelog
+* Thu Jul 23 2009 Kyle McMartin <kyle at redhat.com> 2.6.29.6-217
+- Apply three patches requested by sgruszka at redhat.com:
+ - iwl3945-release-resources-before-shutting-down.patch
+ - iwl3945-add-debugging-for-wrong-command-queue.patch
+ - iwl3945-fix-rfkill-sw-and-hw-mishmash.patch
+ 
 * Thu Jul 23 2009 Jarod Wilson <jarod at redhat.com>
 - virtio_blk: don't bounce highmem requests, works around a frequent
   oops in kvm guests using virtio block devices (#510304)




More information about the fedora-extras-commits mailing list