Commit 171d5820 authored by spiiroin's avatar spiiroin

[worker] Enable android usb before starting mtpd. JB#41748

While in configfs we must start mtpd (so that it writes endpoint config)
before we can enable udc, apparently the reverse applies at least in
some devices utilizing android usb.

When android usb backend is in use, do the gadget configuration before
starting mtpd.
Signed-off-by: spiiroin's avatarSimo Piiroinen <simo.piiroinen@jollamobile.com>
parent 9ee51c15
......@@ -531,7 +531,9 @@ worker_switch_to_mode(const char *mode)
* as they will use the worker_get_usb_mode_data function */
worker_set_usb_mode_data(data);
if( worker_mode_is_mtp_mode(mode) ) {
/* When dealing with configfs, we can't enable UDC without
* already having mtpd running */
if( worker_mode_is_mtp_mode(mode) && configfs_in_use() ) {
if( !worker_start_mtpd() )
goto FAILED;
}
......@@ -542,6 +544,14 @@ worker_switch_to_mode(const char *mode)
if( !modesetting_enter_dynamic_mode() )
goto FAILED;
/* When dealing with android usb, it must be enabled before
* we can start mtpd. Assumption is that the same applies
* when using kernel modules. */
if( worker_mode_is_mtp_mode(mode) && !configfs_in_use() ) {
if( !worker_start_mtpd() )
goto FAILED;
}
goto SUCCESS;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment