PipeWire treats a non-zero return from prepare as fatal, marking the
DP audio device as a dummy sink when the cable is unplugged. The
active_stream_cnt guard already prevents any unclocked hardware access,
so return success instead of -EINVAL when the link is not active.

Signed-off-by: Kumar Anurag <[email protected]>
Suggested-by: Srinivas Kandagatla <[email protected]>
---
 drivers/gpu/drm/msm/dp/dp_audio.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/msm/dp/dp_audio.c 
b/drivers/gpu/drm/msm/dp/dp_audio.c
index 41018e82efa1..df222943ae57 100644
--- a/drivers/gpu/drm/msm/dp/dp_audio.c
+++ b/drivers/gpu/drm/msm/dp/dp_audio.c
@@ -284,10 +284,8 @@ int msm_dp_audio_prepare(struct drm_bridge *bridge,
         * such cases check for connection status and bail out if not
         * connected.
         */
-       if (!msm_dp_display->power_on) {
-               rc = -EINVAL;
+       if (!msm_dp_display->power_on)
                goto end;
-       }
 
        audio = msm_dp_audio_get_data(msm_dp_display);
        if (IS_ERR(audio)) {
-- 
2.34.1

Reply via email to