diff options
author | Pete Zaitcev <zaitcev@redhat.com> | 2006-06-09 23:10:10 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-06-21 18:04:17 -0400 |
commit | 5b1c674d223eef6c6494be8be91e9e3a3054817e (patch) | |
tree | 4f7cbbc36d90ec00cd9f958b62cbfc87f550f34f /drivers/usb/mon/mon_main.c | |
parent | 4bc203d997c0dc1eada4cc9681372c2f7a456c46 (diff) |
[PATCH] USB: update usbmon, fix glued lines
This update contains one bug fix: some lines can come out truncated,
because of the safety cutoff. This happened because I forgot to update
the size when status packets began to be printed.
The rest is:
- Comments updates
- Allow snooping with pkmap on x86_64, which is cache-coherent
- Enlarge event buffers (certainly we can have a couple of pages)
- Add event counter
First touch upon usbmon for 2.6.18.
Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/mon/mon_main.c')
-rw-r--r-- | drivers/usb/mon/mon_main.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/mon/mon_main.c b/drivers/usb/mon/mon_main.c index 6ecc27302211..86db92b4915b 100644 --- a/drivers/usb/mon/mon_main.c +++ b/drivers/usb/mon/mon_main.c | |||
@@ -97,6 +97,7 @@ static void mon_submit(struct usb_bus *ubus, struct urb *urb) | |||
97 | if (mbus->nreaders == 0) | 97 | if (mbus->nreaders == 0) |
98 | goto out_locked; | 98 | goto out_locked; |
99 | 99 | ||
100 | mbus->cnt_events++; | ||
100 | list_for_each (pos, &mbus->r_list) { | 101 | list_for_each (pos, &mbus->r_list) { |
101 | r = list_entry(pos, struct mon_reader, r_link); | 102 | r = list_entry(pos, struct mon_reader, r_link); |
102 | r->rnf_submit(r->r_data, urb); | 103 | r->rnf_submit(r->r_data, urb); |
@@ -152,6 +153,7 @@ static void mon_complete(struct usb_bus *ubus, struct urb *urb) | |||
152 | } | 153 | } |
153 | 154 | ||
154 | spin_lock_irqsave(&mbus->lock, flags); | 155 | spin_lock_irqsave(&mbus->lock, flags); |
156 | mbus->cnt_events++; | ||
155 | list_for_each (pos, &mbus->r_list) { | 157 | list_for_each (pos, &mbus->r_list) { |
156 | r = list_entry(pos, struct mon_reader, r_link); | 158 | r = list_entry(pos, struct mon_reader, r_link); |
157 | r->rnf_complete(r->r_data, urb); | 159 | r->rnf_complete(r->r_data, urb); |
@@ -163,7 +165,6 @@ static void mon_complete(struct usb_bus *ubus, struct urb *urb) | |||
163 | 165 | ||
164 | /* | 166 | /* |
165 | * Stop monitoring. | 167 | * Stop monitoring. |
166 | * Obviously this must be well locked, so no need to play with mb's. | ||
167 | */ | 168 | */ |
168 | static void mon_stop(struct mon_bus *mbus) | 169 | static void mon_stop(struct mon_bus *mbus) |
169 | { | 170 | { |