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

From: Jonathan Nieder
Date: Fri Sep 02 2011 - 19:38:18 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/