From: Gabor Juhos Date: Sun, 27 Jul 2008 15:36:56 +0000 (+0000) Subject: [adm5120] fix a bug in the USB driver debug code X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=commitdiff_plain;h=8325f7fa0c25378bc0706d3a8b33ff84fff72b3f;hp=54451ba6bce1745ea40a418918d48fd3dfa93596 [adm5120] fix a bug in the USB driver debug code SVN-Revision: 11961 --- diff --git a/target/linux/adm5120/files/drivers/usb/host/adm5120-dbg.c b/target/linux/adm5120/files/drivers/usb/host/adm5120-dbg.c index a6eb67cb6b..f3b55f6714 100644 --- a/target/linux/adm5120/files/drivers/usb/host/adm5120-dbg.c +++ b/target/linux/adm5120/files/drivers/usb/host/adm5120-dbg.c @@ -393,7 +393,6 @@ static inline void remove_debug_files(struct admhcd *bus) { } static int debug_async_open(struct inode *, struct file *); static int debug_periodic_open(struct inode *, struct file *); static int debug_registers_open(struct inode *, struct file *); -static int debug_async_open(struct inode *, struct file *); static ssize_t debug_output(struct file*, char __user*, size_t, loff_t*); static int debug_close(struct inode *, struct file *); @@ -429,7 +428,8 @@ struct debug_buffer { static ssize_t show_list(struct admhcd *ahcd, char *buf, size_t count, struct ed *ed) { - unsigned temp, size = count; + unsigned temp; + unsigned size = count; if (!ed) return 0; @@ -488,6 +488,7 @@ show_list(struct admhcd *ahcd, char *buf, size_t count, struct ed *ed) ed = ed->ed_next; } + return count - size; } @@ -503,9 +504,8 @@ static ssize_t fill_async_buffer(struct debug_buffer *buf) hcd = bus_to_hcd(bus); ahcd = hcd_to_admhcd(hcd); - /* display control and bulk lists together, for simplicity */ spin_lock_irqsave(&ahcd->lock, flags); - temp = show_list(ahcd, buf->page, buf->count, ahcd->ed_head); + temp = show_list(ahcd, buf->page, PAGE_SIZE, ahcd->ed_head); spin_unlock_irqrestore(&ahcd->lock, flags); return temp;