Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

usb: whci-hcd: decode more QHead fields in the debug files

Print ep number, direction and type; and current window in asl and pzl
debugfs files.

Signed-off-by: David Vrabel <david.vrabel@csr.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

authored by

David Vrabel and committed by
Greg Kroah-Hartman
d19fc291 dca8cd04

+16 -4
+16 -4
drivers/usb/host/whci/debug.c
··· 31 31 32 32 void qset_print(struct seq_file *s, struct whc_qset *qset) 33 33 { 34 + static const char *qh_type[] = { 35 + "ctrl", "isoc", "bulk", "intr", "rsvd", "rsvd", "rsvd", "lpintr", }; 34 36 struct whc_std *std; 35 37 struct urb *urb = NULL; 36 38 int i; 37 39 38 - seq_printf(s, "qset %08x\n", (u32)qset->qset_dma); 40 + seq_printf(s, "qset %08x", (u32)qset->qset_dma); 41 + if (&qset->list_node == qset->whc->async_list.prev) { 42 + seq_printf(s, " (dummy)\n"); 43 + } else { 44 + seq_printf(s, " ep%d%s-%s maxpkt: %d\n", 45 + qset->qh.info1 & 0x0f, 46 + (qset->qh.info1 >> 4) & 0x1 ? "in" : "out", 47 + qh_type[(qset->qh.info1 >> 5) & 0x7], 48 + (qset->qh.info1 >> 16) & 0xffff); 49 + } 39 50 seq_printf(s, " -> %08x\n", (u32)qset->qh.link); 40 51 seq_printf(s, " info: %08x %08x %08x\n", 41 - qset->qh.info1, qset->qh.info2, qset->qh.info3); 42 - seq_printf(s, " sts: %04x errs: %d\n", qset->qh.status, qset->qh.err_count); 52 + qset->qh.info1, qset->qh.info2, qset->qh.info3); 53 + seq_printf(s, " sts: %04x errs: %d curwin: %08x\n", 54 + qset->qh.status, qset->qh.err_count, qset->qh.cur_window); 43 55 seq_printf(s, " TD: sts: %08x opts: %08x\n", 44 - qset->qh.overlay.qtd.status, qset->qh.overlay.qtd.options); 56 + qset->qh.overlay.qtd.status, qset->qh.overlay.qtd.options); 45 57 46 58 for (i = 0; i < WHCI_QSET_TD_MAX; i++) { 47 59 seq_printf(s, " %c%c TD[%d]: sts: %08x opts: %08x ptr: %08x\n",