Commit 256dbcd8 authored by Alan Stern's avatar Alan Stern Committed by Greg Kroah-Hartman
Browse files

USB: OHCI: fix bugs in debug routines



The debug routine fill_async_buffer() in ohci-hcd is buggy: It never
produces any output because it forgets to initialize the output buffer
size.  Also, the debug routine ohci_dump() has an unused argument.

This patch adds the correct initialization and removes the unused
argument.
Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
CC: <stable@vger.kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 6f65126c
...@@ -236,7 +236,7 @@ ohci_dump_roothub ( ...@@ -236,7 +236,7 @@ ohci_dump_roothub (
} }
} }
static void ohci_dump (struct ohci_hcd *controller, int verbose) static void ohci_dump(struct ohci_hcd *controller)
{ {
ohci_dbg (controller, "OHCI controller state\n"); ohci_dbg (controller, "OHCI controller state\n");
...@@ -464,15 +464,16 @@ show_list (struct ohci_hcd *ohci, char *buf, size_t count, struct ed *ed) ...@@ -464,15 +464,16 @@ show_list (struct ohci_hcd *ohci, char *buf, size_t count, struct ed *ed)
static ssize_t fill_async_buffer(struct debug_buffer *buf) static ssize_t fill_async_buffer(struct debug_buffer *buf)
{ {
struct ohci_hcd *ohci; struct ohci_hcd *ohci;
size_t temp; size_t temp, size;
unsigned long flags; unsigned long flags;
ohci = buf->ohci; ohci = buf->ohci;
size = PAGE_SIZE;
/* display control and bulk lists together, for simplicity */ /* display control and bulk lists together, for simplicity */
spin_lock_irqsave (&ohci->lock, flags); spin_lock_irqsave (&ohci->lock, flags);
temp = show_list(ohci, buf->page, buf->count, ohci->ed_controltail); temp = show_list(ohci, buf->page, size, ohci->ed_controltail);
temp += show_list(ohci, buf->page + temp, buf->count - temp, temp += show_list(ohci, buf->page + temp, size - temp,
ohci->ed_bulktail); ohci->ed_bulktail);
spin_unlock_irqrestore (&ohci->lock, flags); spin_unlock_irqrestore (&ohci->lock, flags);
......
...@@ -76,8 +76,8 @@ static const char hcd_name [] = "ohci_hcd"; ...@@ -76,8 +76,8 @@ static const char hcd_name [] = "ohci_hcd";
#include "ohci.h" #include "ohci.h"
#include "pci-quirks.h" #include "pci-quirks.h"
static void ohci_dump (struct ohci_hcd *ohci, int verbose); static void ohci_dump(struct ohci_hcd *ohci);
static void ohci_stop (struct usb_hcd *hcd); static void ohci_stop(struct usb_hcd *hcd);
#include "ohci-hub.c" #include "ohci-hub.c"
#include "ohci-dbg.c" #include "ohci-dbg.c"
...@@ -770,7 +770,7 @@ retry: ...@@ -770,7 +770,7 @@ retry:
ohci->ed_to_check = NULL; ohci->ed_to_check = NULL;
} }
ohci_dump (ohci, 1); ohci_dump(ohci);
return 0; return 0;
} }
...@@ -851,7 +851,7 @@ static irqreturn_t ohci_irq (struct usb_hcd *hcd) ...@@ -851,7 +851,7 @@ static irqreturn_t ohci_irq (struct usb_hcd *hcd)
usb_hc_died(hcd); usb_hc_died(hcd);
} }
ohci_dump (ohci, 1); ohci_dump(ohci);
ohci_usb_reset (ohci); ohci_usb_reset (ohci);
} }
...@@ -951,7 +951,7 @@ static void ohci_stop (struct usb_hcd *hcd) ...@@ -951,7 +951,7 @@ static void ohci_stop (struct usb_hcd *hcd)
{ {
struct ohci_hcd *ohci = hcd_to_ohci (hcd); struct ohci_hcd *ohci = hcd_to_ohci (hcd);
ohci_dump (ohci, 1); ohci_dump(ohci);
if (quirk_nec(ohci)) if (quirk_nec(ohci))
flush_work(&ohci->nec_work); flush_work(&ohci->nec_work);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment