iwmc3200wifi: Add stopped queue to debugfs
authorSamuel Ortiz <sameo@linux.intel.com>
Tue, 24 Nov 2009 03:33:32 +0000 (11:33 +0800)
committerJohn W. Linville <linville@tuxdriver.com>
Sat, 28 Nov 2009 20:04:45 +0000 (15:04 -0500)
We add the stopped queue count and display to the tx queue debugfs entry.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwmc3200wifi/debugfs.c

index 1465379f900a1e46334c333ceae118b87500fb60..be992ca41cf12f9d1eeb1e2a0b07e87bf4a8e35f 100644 (file)
@@ -158,6 +158,29 @@ static ssize_t iwm_debugfs_txq_read(struct file *filp, char __user *buffer,
                }
 
                spin_unlock_irqrestore(&txq->queue.lock, flags);
+
+               spin_lock_irqsave(&txq->stopped_queue.lock, flags);
+
+               len += snprintf(buf + len, buf_len - len,
+                               "\tStopped Queue len:   %d\n",
+                               skb_queue_len(&txq->stopped_queue));
+               for (j = 0; j < skb_queue_len(&txq->stopped_queue); j++) {
+                       struct iwm_tx_info *tx_info;
+
+                       skb = skb->next;
+                       tx_info = skb_to_tx_info(skb);
+
+                       len += snprintf(buf + len, buf_len - len,
+                                       "\tSKB #%d\n", j);
+                       len += snprintf(buf + len, buf_len - len,
+                                       "\t\tsta:   %d\n", tx_info->sta);
+                       len += snprintf(buf + len, buf_len - len,
+                                       "\t\tcolor: %d\n", tx_info->color);
+                       len += snprintf(buf + len, buf_len - len,
+                                       "\t\ttid:   %d\n", tx_info->tid);
+               }
+
+               spin_unlock_irqrestore(&txq->stopped_queue.lock, flags);
        }
 
        ret = simple_read_from_buffer(buffer, len, ppos, buf, buf_len);