diff options
author | Vitaly Bordug <vitb@kernel.crashing.org> | 2007-09-26 22:36:22 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-10-12 23:55:30 +0200 |
commit | 437f375f262417b484f28007c3e8d21bd01d0e01 (patch) | |
tree | c687fe67514f56d978a44dae97829319ec89b700 /drivers/usb | |
parent | USB: drivers/usb/misc/sisusbvga/sisusb.c: kill two unused variables (diff) | |
download | linux-437f375f262417b484f28007c3e8d21bd01d0e01.tar.xz linux-437f375f262417b484f28007c3e8d21bd01d0e01.zip |
USB: serial gadget: Disable endpoints on unload
After Serial gadget is being unloaded, neither serial itself, nor other
gadget stuff can be loaded subsequently.
Signed-off-by: Vitaly Bordug <vitb@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/gadget/serial.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/usb/gadget/serial.c b/drivers/usb/gadget/serial.c index afdf71f76f7e..a2a1ebc947d2 100644 --- a/drivers/usb/gadget/serial.c +++ b/drivers/usb/gadget/serial.c @@ -1470,6 +1470,12 @@ static void /* __init_or_exit */ gs_unbind(struct usb_gadget *gadget) dev->dev_ctrl_req = NULL; } gs_free_ports(dev); + if (dev->dev_notify_ep) + usb_ep_disable(dev->dev_notify_ep); + if (dev->dev_in_ep) + usb_ep_disable(dev->dev_in_ep); + if (dev->dev_out_ep) + usb_ep_disable(dev->dev_out_ep); kfree(dev); set_gadget_data(gadget, NULL); } |