From 0f231c3991803d7dc89035788d9ee254e9b1f535 Mon Sep 17 00:00:00 2001 From: Andrzej Pietrasiewicz Date: Wed, 24 Jul 2013 12:47:46 +0200 Subject: [PATCH] usb: gadget: ether: put_usb_function on unbind Fix bugs introduced in e41dcc3f30b9ac103b7eb0bc2abee46aee17779f usb: gadget: ether: convert to new interface of f_ecm f1ca60e3e48b08d4d7ac22eb6f5b0f25a41a3f3b usb: gadget: ether: convert to new interface of f_eem 4e0783edbe535515dda8003304c7d12d5c1ffa0b usb: gadget: ether: convert to new interface of f_subset b4c3a41fe80067d6ee3440916380e7a9ff345660 usb: gadget: ether: convert to new interface of f_rndis Acked-by: Michal Nazarewicz Signed-off-by: Andrzej Pietrasiewicz Signed-off-by: Kyungmin Park Signed-off-by: Felipe Balbi --- drivers/usb/gadget/ether.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c index f48712ffe2614..c1c113ef950c8 100644 --- a/drivers/usb/gadget/ether.c +++ b/drivers/usb/gadget/ether.c @@ -449,14 +449,20 @@ fail: static int __exit eth_unbind(struct usb_composite_dev *cdev) { - if (has_rndis()) + if (has_rndis()) { + usb_put_function(f_rndis); usb_put_function_instance(fi_rndis); - if (use_eem) + } + if (use_eem) { + usb_put_function(f_eem); usb_put_function_instance(fi_eem); - else if (can_support_ecm(cdev->gadget)) + } else if (can_support_ecm(cdev->gadget)) { + usb_put_function(f_ecm); usb_put_function_instance(fi_ecm); - else + } else { + usb_put_function(f_geth); usb_put_function_instance(fi_geth); + } return 0; } -- 2.39.5