Commit ba307f58 authored by Milan Svoboda's avatar Milan Svoboda Committed by Greg Kroah-Hartman

USB: gadgetfs: protect ep_release with lock

This patch adds mutex protection to ep_release.
Signed-off-by: default avatarMilan Svoboda <msvoboda@ra.rockwell.com>
Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 8a7471ab
...@@ -477,6 +477,10 @@ static int ...@@ -477,6 +477,10 @@ static int
ep_release (struct inode *inode, struct file *fd) ep_release (struct inode *inode, struct file *fd)
{ {
struct ep_data *data = fd->private_data; struct ep_data *data = fd->private_data;
int value;
if ((value = down_interruptible(&data->lock)) < 0)
return value;
/* clean up if this can be reopened */ /* clean up if this can be reopened */
if (data->state != STATE_EP_UNBOUND) { if (data->state != STATE_EP_UNBOUND) {
...@@ -485,6 +489,7 @@ ep_release (struct inode *inode, struct file *fd) ...@@ -485,6 +489,7 @@ ep_release (struct inode *inode, struct file *fd)
data->hs_desc.bDescriptorType = 0; data->hs_desc.bDescriptorType = 0;
usb_ep_disable(data->ep); usb_ep_disable(data->ep);
} }
up (&data->lock);
put_ep (data); put_ep (data);
return 0; return 0;
} }
......
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