This patch adds mutex protection to ep_release.

Feedback and comments are highly appreciated.

Signed-off-by: Milan Svoboda <[EMAIL PROTECTED]>
---

diff -uprN -X orig/Documentation/dontdiff orig/drivers/usb/gadget/inode.c 
new_gadget/drivers/usb/gadget/inode.c
--- orig/drivers/usb/gadget/inode.c     2006-06-19 10:42:37.000000000 +0000
+++ new_gadget/drivers/usb/gadget/inode.c       2006-06-26 12:31:57.000000000 
+0000
@@ -478,6 +478,9 @@ ep_release (struct inode *inode, struct 
 {
        struct ep_data          *data = fd->private_data;
 
+       if ((value = down_interruptible (&data->lock)) < 0)
+               return value;
+
        /* clean up if this can be reopened */
        if (data->state != STATE_EP_UNBOUND) {
                data->state = STATE_EP_DISABLED;
@@ -485,6 +488,7 @@ ep_release (struct inode *inode, struct 
                data->hs_desc.bDescriptorType = 0;
                usb_ep_disable(data->ep);
        }
+       up (&data->lock);
        put_ep (data);
        return 0;
 }
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to