Subject : ipw3945: not only it periodically dies, it also BUG()s Submitter : Pavel Machek <pavel@ucw.cz> Date : 2008-02-05 22:44 References : http://lkml.org/lkml/2008/2/5/453 Handled-By : "Chatre, Reinette" <reinette.chatre@intel.com> This entry is being used for tracking a regression from 2.6.24. Please don't close it until the problem is fixed in the mainline.
http://www.bughost.org/bugzilla/show_bug.cgi?id=1620
Date Tue, 5 Feb 2008 22:44:41 +0100 From Pavel Machek <> Subject ipw3945: not only it periodically dies, it also BUG()s Digg This Hi! Under not-even-high load, it periodically restarts: Feb 5 21:08:50 amd kernel: iwl3945: Microcode SW error detected. Restarting 0x82000008. Feb 5 21:08:52 amd kernel: iwl3945: Can't stop Rx DMA. Feb 5 21:12:51 amd kernel: iwl3945: Microcode SW error detected. Restarting 0x82000008. Feb 5 21:12:53 amd kernel: iwl3945: Can't stop Rx DMA. Feb 5 21:21:44 amd kernel: iwl3945: Microcode SW error detected. Restarting 0x82000008. Feb 5 21:21:46 amd kernel: iwl3945: Can't stop Rx DMA. Feb 5 21:27:32 amd kernel: iwl3945: Microcode SW error detected. Restarting 0x82000008. Feb 5 21:27:34 amd kernel: iwl3945: Can't stop Rx DMA. Feb 5 21:41:29 amd -- MARK -- Feb 5 22:01:29 amd -- MARK -- Feb 5 22:09:11 amd kernel: iwl3945: Microcode SW error detected. Restarting 0x82000008. Feb 5 22:09:12 amd kernel: iwl3945: Can't stop Rx DMA. ...I've reported this before, with full debugging. Not sure if anything happened. Now, I got BUG() in iwl3945-base.c: 3824 static void iwl3945_tx_cmd_complete(struct iwl3945_priv *priv, struct iwl3945_rx_mem_buffer *rxb) { struct iwl3945_rx_packet *pkt = (struct iwl3945_rx_packet *)rxb->skb->data; u16 sequence = le16_to_cpu(pkt->hdr.sequence); int txq_id = SEQ_TO_QUEUE(sequence); int index = SEQ_TO_INDEX(sequence); int huge = sequence & SEQ_HUGE_FRAME; int cmd_index; struct iwl3945_cmd *cmd; /* 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); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Here. Any ideas? More work on debugging of this bug: http://www.bughost.org/bugzilla/show_bug.cgi?id=1593
Pavel said: "I only seen the BUG() once. iwl3945 seems to work slightly better, big part of problem was CGROUP_SCHED... All problems with iwl are not solved, but it probably works as well as it did in 2.6.24 now..." Closing.