USB: ehci-dbg: fix reading less content of periodic file

This patch fix 2 problems about reading periodic file:

1. The "..." after a interrupt qh is missed because buffer pointer is
   not moved.

2. After setting p.ptr as NULL, its next qh or itd will be omited and
   can't be stored in debug buffer.

Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Ming Lei 2008-09-18 23:06:38 +08:00 committed by Greg Kroah-Hartman
parent 3c04e20ea9
commit 3c4bb71f96
1 changed files with 5 additions and 3 deletions

View File

@ -569,14 +569,16 @@ static ssize_t fill_periodic_buffer(struct debug_buffer *buf)
for (temp = 0; temp < seen_count; temp++) { for (temp = 0; temp < seen_count; temp++) {
if (seen [temp].ptr != p.ptr) if (seen [temp].ptr != p.ptr)
continue; continue;
if (p.qh->qh_next.ptr) if (p.qh->qh_next.ptr) {
temp = scnprintf (next, size, temp = scnprintf (next, size,
" ..."); " ...");
p.ptr = NULL; size -= temp;
next += temp;
}
break; break;
} }
/* show more info the first time around */ /* show more info the first time around */
if (temp == seen_count && p.ptr) { if (temp == seen_count) {
u32 scratch = hc32_to_cpup(ehci, u32 scratch = hc32_to_cpup(ehci,
&p.qh->hw_info1); &p.qh->hw_info1);
struct ehci_qtd *qtd; struct ehci_qtd *qtd;