|
@@ -1805,7 +1805,12 @@ static int udc_start(struct ci_hdrc *ci)
|
|
|
if (ci->transceiver) {
|
|
|
retval = otg_set_peripheral(ci->transceiver->otg,
|
|
|
&ci->gadget);
|
|
|
- if (retval)
|
|
|
+ /*
|
|
|
+ * If we implement all USB functions using chipidea drivers,
|
|
|
+ * it doesn't need to call above API, meanwhile, if we only
|
|
|
+ * use gadget function, calling above API is useless.
|
|
|
+ */
|
|
|
+ if (retval && retval != -ENOTSUPP)
|
|
|
goto put_transceiver;
|
|
|
}
|
|
|
|