rpms/kernel/devel linux-2.6-iwlagn-downgrade-BUG_ON-in-interrupt.patch, NONE, 1.1 kernel.spec, 1.1016, 1.1017

Jarod Wilson jwilson at fedoraproject.org
Mon Oct 6 13:33:52 UTC 2008


Author: jwilson

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv14585

Modified Files:
	kernel.spec 
Added Files:
	linux-2.6-iwlagn-downgrade-BUG_ON-in-interrupt.patch 
Log Message:
* Mon Oct 06 2008 Jarod Wilson <jarod at redhat.com>
- Don't BUG_ON when iwl4695 gets packets in the wrong queue,
  just WARN. Slight leak w/kerneloops report is better than
  simply panicking, Intel working on root-cause (#457154).


linux-2.6-iwlagn-downgrade-BUG_ON-in-interrupt.patch:

--- NEW FILE linux-2.6-iwlagn-downgrade-BUG_ON-in-interrupt.patch ---
From: Johannes Berg <johannes at sipsolutions.net>
Date: Tue, 23 Sep 2008 17:18:43 +0000 (+0200)
Subject: iwlagn: downgrade BUG_ON in interrupt
X-Git-Tag: master-2008-09-30~22
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Flinville%2Fwireless-testing.git;a=commitdiff_plain;h=98fa49592bea0fe5749973ab9fc6b3f00ce2ea82

iwlagn: downgrade BUG_ON in interrupt

This BUG_ON really shouldn't trigger, but if it does, as on my machine,
it leaves you wondering what happened because you won't see it. Let's
instead leak a bit of state and memory and at least make it possible to
report it to the kerneloops project to track it.

Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
---

diff --git a/drivers/net/wireless/iwlwifi/iwl-tx.c b/drivers/net/wireless/iwlwifi/iwl-tx.c
index e9feca4..907a53e 100644
--- a/drivers/net/wireless/iwlwifi/iwl-tx.c
+++ b/drivers/net/wireless/iwlwifi/iwl-tx.c
@@ -1200,10 +1200,9 @@ void iwl_tx_cmd_complete(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb)
 	/* If a Tx command is being handled and it isn't in the actual
 	 * command queue then there a command routing bug has been introduced
 	 * in the queue management code. */
-	if (txq_id != IWL_CMD_QUEUE_NUM)
-		IWL_ERROR("Error wrong command queue %d command id 0x%X\n",
-			  txq_id, pkt->hdr.cmd);
-	BUG_ON(txq_id != IWL_CMD_QUEUE_NUM);
+	if (WARN(txq_id != IWL_CMD_QUEUE_NUM,
+		 "wrong command queue %d, command id 0x%X\n", txq_id, pkt->hdr.cmd))
+		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];


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1016
retrieving revision 1.1017
diff -u -r1.1016 -r1.1017
--- kernel.spec	6 Oct 2008 06:28:00 -0000	1.1016
+++ kernel.spec	6 Oct 2008 13:33:22 -0000	1.1017
@@ -618,6 +618,7 @@
 Patch680: linux-2.6-wireless.patch
 Patch681: linux-2.6-wireless-pending.patch
 Patch682: linux-2.6-iwlwifi-use-dma_alloc_coherent.patch
+Patch683: linux-2.6-iwlagn-downgrade-BUG_ON-in-interrupt.patch
 Patch690: linux-2.6-at76.patch
 
 Patch700: linux-2.6-nfs-client-mounts-hang.patch
@@ -1150,6 +1151,8 @@
 
 # fix spot's iwlwifi, hopefully...
 ApplyPatch linux-2.6-iwlwifi-use-dma_alloc_coherent.patch
+# make jarod's iwl4965 not panic near N APs, hopefully
+ApplyPatch linux-2.6-iwlagn-downgrade-BUG_ON-in-interrupt.patch
 
 # Add misc wireless bits from upstream wireless tree
 ApplyPatch linux-2.6-at76.patch
@@ -1777,6 +1780,11 @@
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
 
 %changelog
+* Mon Oct 06 2008 Jarod Wilson <jarod at redhat.com>
+- Don't BUG_ON when iwl4695 gets packets in the wrong queue,
+  just WARN. Slight leak w/kerneloops report is better than
+  simply panicking, Intel working on root-cause (#457154).
+
 * Mon Oct 06 2008 Dave Airlie <airlied at redhat.com>
 - drm-modesetting-radeon.patch - fix drm mode header + Xv alignment issue
 




More information about the scm-commits mailing list