From d95487c6e76b636e567a3a0118fff0e261ffc674 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 2f980d495b23fe8cb2af96235206bc3d50b2aa86 usb: gadget: ether: convert to new interface of f_ecm a03d20f7486df78c4031646d2366a5a7064073d6 usb: gadget: ether: convert to new interface of f_eem 977dc6151c29ce16817f2f9e9166db56efa8e96b usb: gadget: ether: convert to new interface of f_subset ba229bc617f6eb20e789ecc182750d56bf927389 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