summaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2022-03-19 12:02:46 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2022-03-28 10:52:55 +0200
commit32758bab2b95023b1c0970072db8d3a1faacc445 (patch)
tree741d620423439eb708dbd1810d73eae34d82cb0b /drivers/usb
parentfb26c992666331ab250886a08254293b1fa86eba (diff)
downloadbarebox-32758bab2b95023b1c0970072db8d3a1faacc445.tar.gz
barebox-32758bab2b95023b1c0970072db8d3a1faacc445.tar.xz
usb: gadget: multi: free UMS instance at multi_unbind time
We do this for all other gadgets, but not for UMS. Fix this. Fixes: 57313f83e83e ("usbgadget: add support for USB mass storage gadget") Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20220319110246.2850396-7-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/gadget/multi.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/usb/gadget/multi.c b/drivers/usb/gadget/multi.c
index cd5b529d3e..102d8714f8 100644
--- a/drivers/usb/gadget/multi.c
+++ b/drivers/usb/gadget/multi.c
@@ -169,6 +169,11 @@ static int multi_unbind(struct usb_composite_dev *cdev)
usb_put_function_instance(fi_acm);
}
+ if (gadget_multi_opts->ums_opts.files) {
+ usb_put_function(f_ums);
+ usb_put_function_instance(fi_ums);
+ }
+
if (gadget_multi_opts->dfu_opts.files) {
usb_put_function(f_dfu);
usb_put_function_instance(fi_dfu);