summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBadhri Jagan Sridharan <Badhri@google.com>2015-05-06 13:40:15 -0700
committerBadhri Jagan Sridharan <Badhri@google.com>2015-11-18 14:23:36 -0800
commit85dc1dadf00930595f63c9a3a9cd470bd99e9c52 (patch)
treea2a67541561e4a592eb6a25d10fcd915e5705cf7
parent88ae36427851d114ec61d96485fb45d0f2bcef34 (diff)
downloadmediatek-85dc1dadf00930595f63c9a3a9cd470bd99e9c52.tar.gz
usb: gadget: Do not disconnect unregistered dev
configfs_composite_unbind sets the gadget data to null. Therefore, add check in disconnect function to make sure that cdev is not NULL. Prints a WARN message if the driver tries to redundantly disconnect a gadget. Signed-off-by: Badhri Jagan Sridharan <badhri@google.com> Change-Id: I248cb7175d0dd9a51c18053dd39475d8b3284f6d
-rw-r--r--drivers/usb/gadget/composite.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c
index 734e504d9e57..815126ae386a 100644
--- a/drivers/usb/gadget/composite.c
+++ b/drivers/usb/gadget/composite.c
@@ -1781,6 +1781,12 @@ void composite_disconnect(struct usb_gadget *gadget)
struct usb_composite_dev *cdev = get_gadget_data(gadget);
unsigned long flags;
+ if (cdev == NULL) {
+ WARN(1, "%s: Calling disconnect on a Gadget that is \
+ not connected\n", __func__);
+ return;
+ }
+
/* REVISIT: should we have config and device level
* disconnect callbacks?
*/