Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 959f34ac authored by Jerry Zhang's avatar Jerry Zhang Committed by android-build-team Robot
Browse files

DO NOT MERGE : Always set sys.usb.ffs.mtp.ready during configure

Sometimes, due to a race, the configure
will fail even though descriptors are actually
written because MtpServer did not die properly.
MtpServer lifetime is fixed properly in master
with multiplexed io, but to work around the
issue here, we set the property at all times.

Also reduce the timeout to leave room for
UsbDeviceManager.

Bug: 67844294
Test: Plug/replug device on sled with usb debugging off x50
Test: Verify that the race is hit, but projection still starts
Test: Verify that all other usb configurations still work
Change-Id: I39dd4d3db95e087f065d58ba80ca980559920c99
(cherry picked from commit 9dc10038)
parent 4e091c66
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -614,7 +614,7 @@ int MtpFfsHandle::start() {


int MtpFfsHandle::configure(bool usePtp) {
int MtpFfsHandle::configure(bool usePtp) {
    // Wait till previous server invocation has closed
    // Wait till previous server invocation has closed
    if (!mLock.try_lock_for(std::chrono::milliseconds(1000))) {
    if (!mLock.try_lock_for(std::chrono::milliseconds(300))) {
        LOG(ERROR) << "MtpServer was unable to get configure lock";
        LOG(ERROR) << "MtpServer was unable to get configure lock";
        return -1;
        return -1;
    }
    }
+1 −1
Original line number Original line Diff line number Diff line
@@ -132,7 +132,7 @@ int MtpServer::configure(bool usePtp) {


    int ret = sHandle->configure(usePtp);
    int ret = sHandle->configure(usePtp);
    if (ret) ALOGE("Failed to configure MTP driver!");
    if (ret) ALOGE("Failed to configure MTP driver!");
    else android::base::SetProperty("sys.usb.ffs.mtp.ready", "1");
    android::base::SetProperty("sys.usb.ffs.mtp.ready", "1");


    return ret;
    return ret;
}
}