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

Commit 9fa75957 authored by Kensuke Miyagi's avatar Kensuke Miyagi Committed by Android (Google) Code Review
Browse files

Merge "Fix deadlock between Tuner.requestDescrambler() and resource reclaim" into main

parents 8f5cb45f 74ffdaf7
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -2409,13 +2409,16 @@ public class Tuner implements AutoCloseable {
    @RequiresPermission(android.Manifest.permission.ACCESS_TV_DESCRAMBLER)
    @Nullable
    public Descrambler openDescrambler() {
        acquireTRMSLock("openDescrambler()");
        mDemuxLock.lock();
        try {
            if (!checkResource(TunerResourceManager.TUNER_RESOURCE_TYPE_DEMUX, mDemuxLock)) {
            // no need to unlock mDemuxLock (so pass null instead) as TRMS lock is already acquired
            if (!checkResource(TunerResourceManager.TUNER_RESOURCE_TYPE_DEMUX, null)) {
                return null;
            }
            return requestDescrambler();
        } finally {
            releaseTRMSLock();
            mDemuxLock.unlock();
        }
    }