Thread (18 messages) 18 messages, 3 authors, 2012-01-16

Re: iwl4965: "MAC is in deep sleep!" freezes

From: Jonathan Nieder <hidden>
Date: 2011-09-02 23:38:17
Also in: lkml

Hi,

Christoph Anton Mitterer wrote[1]:
When I bring the WLAN interface up, after some time (usually just
minutes) I get the following error (during which the system
completely freezes for some 10-20s)
[...]
kernel: [  951.087153] iwl4965 0000:14:00.0: Error sending REPLY_SCAN_CMD: time out after 500ms.
wpa_supplicant[13032]: Failed to initiate AP scan.
kernel: [  952.089208] ------------[ cut here ]------------
kernel: [  952.090089] WARNING: at drivers/net/wireless/iwlegacy/iwl-tx.c:483 iwl_legacy_enqueue_hcmd+0x3c7/0x3f0()
The warning is from v3.0-rc2~7^2~16^2~216 (iwlegacy: fix enqueue hcmd
race conditions, 2011-04-28):

| -	spin_lock_irqsave(&priv->hcmd_lock, flags);
| -
| -	/* If this is a huge cmd, mark the huge flag also on the meta.flags
| -	 * of the _original_ cmd. This is used for DMA mapping clean up.
| -	 */
| -	if (cmd->flags & CMD_SIZE_HUGE) {
| -		idx = iwl_legacy_get_cmd_index(q, q->write_ptr, 0);
| -		txq->meta[idx].flags = CMD_SIZE_HUGE;
| -	}
| -
| 	idx = iwl_legacy_get_cmd_index(q, q->write_ptr, cmd->flags & CMD_SIZE_HUGE);
| 	out_cmd = txq->cmd[idx];
| 	out_meta = &txq->meta[idx];
|  
| +	if (WARN_ON(out_meta->flags & CMD_MAPPED)) {
| +		spin_unlock_irqrestore(&priv->hcmd_lock, flags);
| +		return -ENOSPC;
| +	}
| +

More details are at [1].  Stanislav, thoughts?  Is this a bug, and if
so, any ideas for tracking it down?

Thanks,
Jonathan

[1] http://bugs.debian.org/636355
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help