Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git] / drivers / usb / mon / mon_main.c
index 275a66f..6ecc273 100644 (file)
@@ -97,7 +97,6 @@ static void mon_submit(struct usb_bus *ubus, struct urb *urb)
        if (mbus->nreaders == 0)
                goto out_locked;
 
-       mbus->cnt_events++;
        list_for_each (pos, &mbus->r_list) {
                r = list_entry(pos, struct mon_reader, r_link);
                r->rnf_submit(r->r_data, urb);
@@ -114,32 +113,20 @@ out_unlocked:
 
 /*
  */
-static void mon_submit_error(struct usb_bus *ubus, struct urb *urb, int error)
+static void mon_submit_error(struct usb_bus *ubus, struct urb *urb, int err)
 {
        struct mon_bus *mbus;
-       unsigned long flags;
-       struct list_head *pos;
-       struct mon_reader *r;
 
        mbus = ubus->mon_bus;
        if (mbus == NULL)
                goto out_unlocked;
 
-       spin_lock_irqsave(&mbus->lock, flags);
-       if (mbus->nreaders == 0)
-               goto out_locked;
-
-       mbus->cnt_events++;
-       list_for_each (pos, &mbus->r_list) {
-               r = list_entry(pos, struct mon_reader, r_link);
-               r->rnf_error(r->r_data, urb, error);
-       }
+       /*
+        * XXX Capture the error code and the 'E' event.
+        */
 
-       spin_unlock_irqrestore(&mbus->lock, flags);
        return;
 
-out_locked:
-       spin_unlock_irqrestore(&mbus->lock, flags);
 out_unlocked:
        return;
 }
@@ -165,7 +152,6 @@ static void mon_complete(struct usb_bus *ubus, struct urb *urb)
        }
 
        spin_lock_irqsave(&mbus->lock, flags);
-       mbus->cnt_events++;
        list_for_each (pos, &mbus->r_list) {
                r = list_entry(pos, struct mon_reader, r_link);
                r->rnf_complete(r->r_data, urb);
@@ -177,6 +163,7 @@ static void mon_complete(struct usb_bus *ubus, struct urb *urb)
 
 /*
  * Stop monitoring.
+ * Obviously this must be well locked, so no need to play with mb's.
  */
 static void mon_stop(struct mon_bus *mbus)
 {