sdm845-common: init.qcom.usb.rc: Directly exec init.qcom.usb.sh helper

Directly execute the init.qcom.usb.sh helper in the 'on boot'
and 'on charger' actions rather than spawning it as a oneshot
service. After that, directly update sys.usb.config with the
from persist.vendor.usb.config. This streamlines and guarantees
it will execute synchronously which can help avoid rare race
conditions with other USB property triggers that could execute
in parallel.

Change-Id: Iaf798b146d071b11857a4cf54fbaf7ae0d5d2431
This commit is contained in:
Jack Pham 2020-03-11 19:08:41 -07:00 committed by Bruno Martins
parent 0d208d22dd
commit 6720cf4628

View File

@ -44,9 +44,9 @@ on charger
symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
write /sys/class/android_usb/android0/f_ffs/aliases adb
enable vendor.qcom-usb-sh
start vendor.qcom-usb-sh
exec u:r:vendor_qti_init_shell:s0 -- /vendor/bin/init.qcom.usb.sh
setprop sys.usb.config mass_storage
setprop sys.usb.configfs 1
on boot
write /sys/class/android_usb/android0/iSerial ${ro.serialno}
@ -115,13 +115,9 @@ on boot
write /sys/class/android_usb/android0/f_ffs/aliases adb
setprop sys.usb.mtp.device_type 2
setprop vendor.usb.controller ${sys.usb.controller}
enable vendor.qcom-usb-sh
service vendor.qcom-usb-sh /vendor/bin/init.qcom.usb.sh
class core
user root
oneshot
disabled
exec u:r:vendor_qti_init_shell:s0 -- /vendor/bin/init.qcom.usb.sh
setprop sys.usb.config ${persist.vendor.usb.config}
setprop sys.usb.configfs 1
on property:persist.vendor.usb.config=*
setprop persist.sys.usb.config ${persist.vendor.usb.config}
@ -129,9 +125,6 @@ on property:persist.vendor.usb.config=*
on boot && property:ro.boot.usbconfigfs=true
setprop sys.usb.configfs 1
on property:vendor.usb.configfs=1 && property:sys.usb.configfs=0
setprop sys.usb.configfs 1
# Following are the parameters required for usb functionality. They provide configurable options like
# product_id/vendor id and allows specifying required functions:
#