From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 38117C0218E for ; Sun, 26 Jan 2025 14:56:31 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id DCDAD10E412; Sun, 26 Jan 2025 14:56:30 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="QhhZbE8g"; dkim-atps=neutral Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by gabe.freedesktop.org (Postfix) with ESMTPS id 93F7310E412; Sun, 26 Jan 2025 14:56:29 +0000 (UTC) Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id B99AFA406E6; Sun, 26 Jan 2025 14:54:41 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 347B2C4CEE2; Sun, 26 Jan 2025 14:56:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737903388; bh=eOTtRRo0BVYeiu6R746gwstLSaxRow6rUQ+63N00bRU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QhhZbE8guNYTV1rQx89PyLMFYag4DMQZSitTpSaMCwzG2bk9MHq5BzOzdcrJ0JtB3 ED/iYJ0xMwHFUTowAo9VS4SilZvHXCeX6Lx5iHQBFkBikNbI2mHwsiehg+Do4m7hHn U3PjdEdAzNkNIttnRzhH7lLy4/qx+QSWl3LpThS6UAJfiC1sixrPTJe1n/Zl5kBqcB JthpHjAWuoAfRnj3G2IfIgn8PNyyy9XN5GDdvxumUfFJaMV1QkLOnHXSV1ThujnQUM kDI/yot05gQ0/oawO0L2Px0RCZ2w9qlphfsJFz/vEmtpSBTiAoo5o3hk+EBVXI+3nJ U8uIiXcnhUbdw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Dmitry Baryshkov , Maxime Ripard , Harry Wentland , Sasha Levin , sunpeng.li@amd.com, Rodrigo.Siqueira@amd.com, alexander.deucher@amd.com, christian.koenig@amd.com, Xinhui.Pan@amd.com, airlied@gmail.com, simona@ffwll.ch, chiahsuan.chung@amd.com, hamza.mahfooz@amd.com, sunil.khatri@amd.com, alex.hung@amd.com, aurabindo.pillai@amd.com, hersenxs.wu@amd.com, mwen@igalia.com, Wayne.Lin@amd.com, amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Subject: [PATCH AUTOSEL 6.6 06/17] drm/amd/display: use eld_mutex to protect access to connector->eld Date: Sun, 26 Jan 2025 09:56:01 -0500 Message-Id: <20250126145612.937679-6-sashal@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250126145612.937679-1-sashal@kernel.org> References: <20250126145612.937679-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.6.74 Content-Transfer-Encoding: 8bit X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" From: Dmitry Baryshkov [ Upstream commit 819bee01eea06282d7bda17d46caf29cae4f6d84 ] Reading access to connector->eld can happen at the same time the drm_edid_to_eld() updates the data. Take the newly added eld_mutex in order to protect connector->eld from concurrent access. Reviewed-by: Maxime Ripard Reviewed-by: Harry Wentland Link: https://patchwork.freedesktop.org/patch/msgid/20241206-drm-connector-eld-mutex-v2-4-c9bce1ee8bea@linaro.org Signed-off-by: Dmitry Baryshkov Signed-off-by: Sasha Levin --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 8a152f4974d3c..aab99df3ba1ae 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -955,8 +955,10 @@ static int amdgpu_dm_audio_component_get_eld(struct device *kdev, int port, continue; *enabled = true; + mutex_lock(&connector->eld_mutex); ret = drm_eld_size(connector->eld); memcpy(buf, connector->eld, min(max_bytes, ret)); + mutex_unlock(&connector->eld_mutex); break; } -- 2.39.5