Bug 9954
Summary: | iwl3945: not only it periodically dies, it also BUG()s | ||
---|---|---|---|
Product: | Drivers | Reporter: | Rafael J. Wysocki (rjw) |
Component: | network-wireless | Assignee: | drivers_network-wireless (drivers_network-wireless) |
Status: | CLOSED CODE_FIX | ||
Severity: | normal | CC: | pavel, reinette.chatre |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.5.25-rc0 | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Bug Depends on: | |||
Bug Blocks: | 9832 |
Description
Rafael J. Wysocki
2008-02-13 06:02:52 UTC
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. |