-
Notifications
You must be signed in to change notification settings - Fork 15
Merge tag 'android-11.0.0_r48' of https://android.googlesource.com/pl… #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
jaichiranjeeva
wants to merge
46
commits into
Spark-Rom:fire
Choose a base branch
from
jaichiranjeeva:fire
base: fire
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Change-Id: Ic0aebaea05f14a520690ceea0bce41ab6f81cd40
Change-Id: Ia84a08d95e957e633afcebbce2a0c07de8293cfe
Change-Id: Ie5f1dad1cbfa5075a989f33c46c84eb2e074d7ec
Change-Id: Ib85f2fe097d8384308aeb43d7863eb0e60ca09c7
Change-Id: I951785b9430d4c350b24386ceb6aef9fee3be9a2
Change-Id: I86eb73d834cdef7cebeec1993bfd5ca59723a494
Change-Id: Ie2d9615808606b68b7166a572c6347f67664b3a3
Change-Id: I019800f59d9b810c6b21deac37604d7061e29c81
Change-Id: Ic6b2acb531364a9dd63f58517eded0462348dc8f
Change-Id: I96f722bfd7662e90827de761bea4b7b1257d012b
Change-Id: I4bed33eebbf15b085c5dd100d36ac1dbea6eb6e2
Change-Id: I23e2f91001891b41a7f7788b1548fc58462b2d7e
Change-Id: Iefa3f801b2f66cbb232d3be3e4f8e1a42de05bdf
Change-Id: Ifaa1afd1d911819d5fb3bb94ddb2971a13673c20
Change-Id: Idf7a7ea62290e8e5f6528728fdeacbfd36cdf113
Change-Id: Iabd1461a4fc2d2e1bc1f318ebd8625b9d041c14f
Change-Id: I05e6790f9c9f942488bbd4749625fbaf32c6126a
Change-Id: I347b8f97f7335181ab7742847361bf24b13d504b
Change-Id: I4fa6b98126aef2c92f356120b9b609d74b2253fe
Change-Id: I4e6e1d01d84be4e555181f7061ad14170fa1a1a7
Change-Id: I94eb7b6b2f3a1c5b995e14c32f79b65a94fa3c19
Change-Id: Ib887fec6eb150d4557c86da18cf03c151e5c87ce
Change-Id: I108e6d5493573e2df91d633e1cb754973b49fbb2
Change-Id: I286403b38a919bc1abfb3d4c6a72e8b8f04a98e2
Change-Id: I208ca624ee5b3ee4f05f47a05263bbd6aea604b4
Change-Id: I5e2bc325c13c677ae4d0988157f4d488e716caef
Change-Id: Ie3a342e5e1a5cfa33e7ab0162a1c9666a3fbc8cd
Change-Id: I6a2446f1f9297717f2588160dd3bbd100e2f0fae
Change-Id: I95616e8b7aa51d9d8a8e49f546344eab3e12b700
Change-Id: I13a3b4d45cb46ac1b2827f0fa9f2e8378fbff0de
Change-Id: I7f4f54b1ef292544b38d994a729c70ed7ee4cd38
Change-Id: I319620a193a241bf7c409724395754d57f951524
Change-Id: Iaa774cf1c4b928f73b06bb7415d6023a0274ff0f
Change-Id: I90bcb60a8038c9d1911757f0a2c88f28747f6893
Change-Id: I20c8a985dd3ccf2e19aa8928236e26e17b64499e
Change-Id: I6be68665c1a9c9187eb1d27477492ad3fc658fda
Change-Id: I59c4dc5ce69f331fac25804bc89c32eea770eaff
Change-Id: Idf1496f6680527ce6027ec0b99d85fecc38bc09a
Change-Id: I3de8aab1267276e2b448ff83a1f784c8984d048c
Change-Id: Iaf7a75471925c7684a2163982a1bb846ac022b32
Change-Id: I7805e2ebb05dc67626bbf7f903d315ca6624fa6d
Move all calls to send the timestamp into the one timestamp thread. There was a clear code path that could lead to a deadlock. If the call to get the timestamp from the HAL returned an unexpected error code then it would call disconnect(). If that happened below the call to stop() then the deadlock would occur. The sequence of calls was AAudioServiceStreamBase::stop() which locked mLock, then called AAudioServiceStreamBase::stop_l(), which called AAudioServiceStreamBase:sendCurrentTimeStamp(), which called AAudioServiceStreamMMAP::getFreeRunningPosition(), which called disconnect(), which locked mLock AGAIN. It is not clear what would trigger the error return from the HAL but a routing change may be involved. The bug was discovered during stress tests and we do not have a clear repro case. Bug: 182852602 Bug: 153358911 Test: atest CtsNativeMediaAAudioTestCases Change-Id: I575f75ece9b459e7412bca293d7338babe76b3a7 Merged-In: I575f75ece9b459e7412bca293d7338babe76b3a7 (cherry picked from commit 45da1b7) (cherry picked from commit 9dd928e)
This will prevent a deadlock in case the timestamp thread tries to acquire the same lock. Bug: 182852602 Bug: 153358911 Test: plug and unplug headphones while playing Change-Id: I625d191906c7e280f3a223f476716ef17b9098ea Merged-In: I625d191906c7e280f3a223f476716ef17b9098ea (cherry picked from commit 5f6fda7)
…6, 15581327, 15581138, 15581139, 15581140, 15581341, 15581342, 15581343, 15581344, 15581095, 15581315, 15581316, 15581317, 15581345, 15581328] into rvc-d2-release Change-Id: I67375638c57528d49cbfd2205e3fc0d96112f7a8
…atform/frameworks/av into fire Android 11.0.0 Release 48 (RD2A.211001.002)
SparkosCUST
pushed a commit
to SparkosCUST/frameworks_av
that referenced
this pull request
Dec 31, 2022
Do not hold lock when IPC call is expected from HAL. C2SurfaceSyncObj is shared lock between framework and HAL. HAL process can have only one thread to handle IPC from HAL to framework. Therefore Holding C2SurfaceSyncObj from HAL during IPC call could trigger deadlock. The exact scenario is as follows. Thread Spark-Rom#1:(HAL -> framework IPC) HIDL call onInputBuffersReleased() calls to feedInputBufferIfAvailable(). Since this is using HAL IPC thread, this will block Thread Spark-Rom#3. This is waiting for mOuput mutex which is held by Thread Spark-Rom#2. Thread Spark-Rom#2:(framework) discardBuffer() holds mOutput mutex which blocks Thread Spark-Rom#1. But this is waiting for C2SurfaceSyncObj which is held by Thread Spark-Rom#3. Thread Spark-Rom#3:(HAL) Dtor of C2BufferQueueBlockPoolData is holding C2SurfaceSyncObj, therefore this will block Spark-Rom#2. This thread is waiting for HIDL IPC thread to be free in order for 'igbp->cancel()', but HIDL IPC thread is already occupied by Thread Spark-Rom#1. Bug: 246707566 Test: atest android.media.decoder.cts.AdaptivePlaybackTest Test: atest android.media.decoder.cts.DecoderTest Change-Id: I6a9540d3b4d03806cd40bb4f89a234a6b77758a9 (cherry picked from commit d36be3a02819390431eed067e8f47262addb07a0) Merged-In: I6a9540d3b4d03806cd40bb4f89a234a6b77758a9
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
…atform/frameworks/av into fire
Android 11.0.0 Release 48 (RD2A.211001.002)