iwl3945: add debugging for wrong command queue
authorChatre, Reinette <reinette.chatre@intel.com>
Mon, 19 Jan 2009 23:30:24 +0000 (15:30 -0800)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 29 Jan 2009 21:00:55 +0000 (16:00 -0500)
We encountered a problem related to this BUG and need to obtain more
debugging information. See bug report at
http://marc.info/?l=linux-wireless&m=123147215829854&w=2

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl3945-base.c

index d8cb948..d1efdc7 100644 (file)
@@ -3066,7 +3066,14 @@ static void iwl3945_tx_cmd_complete(struct iwl_priv *priv,
        int cmd_index;
        struct iwl_cmd *cmd;
 
-       BUG_ON(txq_id != IWL_CMD_QUEUE_NUM);
+       if (WARN(txq_id != IWL_CMD_QUEUE_NUM,
+                "wrong command queue %d, sequence 0x%X readp=%d writep=%d\n",
+                 txq_id, sequence,
+                 priv->txq[IWL_CMD_QUEUE_NUM].q.read_ptr,
+                 priv->txq[IWL_CMD_QUEUE_NUM].q.write_ptr)) {
+               iwl_print_hex_dump(priv, IWL_DL_INFO , rxb, 32);
+               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];