Merge "USB: gadget: composite: Don't enable endpoints if already enabled"
diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c
index 27d67e3..e068484 100644
--- a/drivers/usb/gadget/composite.c
+++ b/drivers/usb/gadget/composite.c
@@ -1220,6 +1220,15 @@
break;
if (w_value && !f->set_alt)
break;
+ /*
+ * We put interfaces in default settings (alt 0)
+ * upon set config#1. Call set_alt for non-zero
+ * alternate setting.
+ */
+ if (!w_value && cdev->config) {
+ value = 0;
+ break;
+ }
value = f->set_alt(f, w_index, w_value);
if (value == USB_GADGET_DELAYED_STATUS) {
DBG(cdev,