diff options
author | Andrzej Pietrasiewicz <andrzej.p@samsung.com> | 2013-04-18 14:43:26 +0200 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2013-04-23 14:12:21 +0300 |
commit | abe7a4097dd0141d21d02e4bd949b377a0a75120 (patch) | |
tree | 3e3f446f518fcca9886428eb7097fc44310c1109 /drivers/usb | |
parent | 9890e33013fae0d67cd385d2038fcab4e52a6632 (diff) | |
download | linux-abe7a4097dd0141d21d02e4bd949b377a0a75120.tar.gz linux-abe7a4097dd0141d21d02e4bd949b377a0a75120.tar.bz2 linux-abe7a4097dd0141d21d02e4bd949b377a0a75120.zip |
usb: gadget: zero: put function instances on unbind
If function instances are not put on gadget's unbind, their implementation
module's refcount is nonzero and it is impossible to unload them.
Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/gadget/zero.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/usb/gadget/zero.c b/drivers/usb/gadget/zero.c index 685fa681cb65..2cd6262e8b71 100644 --- a/drivers/usb/gadget/zero.c +++ b/drivers/usb/gadget/zero.c @@ -368,8 +368,10 @@ static int zero_unbind(struct usb_composite_dev *cdev) del_timer_sync(&autoresume_timer); if (!IS_ERR_OR_NULL(func_ss)) usb_put_function(func_ss); + usb_put_function_instance(func_inst_ss); if (!IS_ERR_OR_NULL(func_lb)) usb_put_function(func_lb); + usb_put_function_instance(func_inst_lb); return 0; } |