From nobody Fri Dec 19 11:50:01 2025 Received: from SA9PR02CU001.outbound.protection.outlook.com (mail-southcentralusazon11013003.outbound.protection.outlook.com [40.93.196.3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1C6B22EC55C for ; Tue, 9 Dec 2025 12:03:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.196.3 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765281835; cv=fail; b=eXaCvl6fdqObSo6mSBACRJSV4SfUiZV96wXBqHluHBwj+DEfKn3SmioOwM9MVQVtzGyrC1ATtt6yMjjxEh8KXNbu1KoT9R8DZ5N7Rq8JU7xdmNELxE50IUh1VVLzkxTod6frFWSzy0N+F6UWfOoHjNaiw7N3OICxQ9vHwfphQBw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765281835; c=relaxed/simple; bh=j7psHhn3CmbOuV9VBFXFXTWafIx/1LjxjnAQ+VyX0AU=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=fThCpCKSZlpPD4piTKpvGXS9p6texIPHTjo4hP1o0T5/QFd/ig+6Ru5qwxRe318KTuBU7sSu284DcIi/13FmVnU6KFOKXZseluShIm6T2ZEq5C6y2u4YTrKUBLp76JlITO6BP+wTHp5avK9gThn2W80y1xytUi6RojEIGCYuZ64= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com; spf=pass smtp.mailfrom=ti.com; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b=F+Vckqku; arc=fail smtp.client-ip=40.93.196.3 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ti.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b="F+Vckqku" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aVB4wvuPqt21Tv6cY4AbQS4mriIyGnlnr1WvPpXyCOAp1i0QHdcUvEOfbu4xP+nUUF2mzRl03ypjmYv3KbhmDu1xJSipX/9RwFLiQ+q9pbj1sQRMxWWSpcXTzS0StOpv0JGP/4cXDhdHIWlq4Y2KDCYvMYkgQqotv5HhR65bAZpOW6bvAYaiViA0AW3TSDEiCrv0GXuPj1EdoQg/A6IMk+rwlGFMX4L7r6JwIoQvObUEOVvoh7f3VsCxPqtEL17UqM22PE/5UkXMl4MDWjyqrglUL2vJSt1dhO7t1kqXi6VoxY4ZuoopkkalwX7YU4AyQoAdO7agPa37uWEjWVpABA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=dk4ZQPehZkMhtO2T6CDTwCoRIqbBd5/FiKPZhYc+kRI=; b=VmU3wnRmnWSbd/E9Bu+EbHiNQncH6LDVEirHA3dE56+4or4V6o+t4tBnnpNPgb33HdNZqDc99JEZznYqGoO6EmHVEpZopIzK8q431eyVIM0RHksNzvgDQ0yboYMvWdku2MJ79XU2RlE8zFkGaM/tRRzgHdXphd7NObi6ngmS3WXHjVanTNDmoIqzLeN121xoFgu0aFkhuXWEu29Ax2M/gOcXsERTYAJHL4egkHJIdr5B5GSxf5LTMoArTpdSLbdS4SlZnnpSXx3kwC1zRvOZbnMa0cjoSOGh7QDDCM61CulfYXS0fE7zjDA+OTKbhmLTU0OXp01TIJACX+/aH92gBA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 198.47.21.195) smtp.rcpttodomain=suse.de smtp.mailfrom=ti.com; dmarc=pass (p=quarantine sp=none pct=100) action=none header.from=ti.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dk4ZQPehZkMhtO2T6CDTwCoRIqbBd5/FiKPZhYc+kRI=; b=F+VckqkuVGOloOQ5KhtZ0ADjCTzf9TeWoe4eFJHvoBfOUBjcIj6V++of/AkdABKC+MBasVD2SDF94o+M6OkToGMVdKwoVWSkGH58mfCLRcZJLnZ6snXA8e0z+7qjsVPVTk8gjl6XNuB2OCenDeeZe7FZ2j+lQutjwAae8Kd9ZBY= Received: from PH0PR07CA0067.namprd07.prod.outlook.com (2603:10b6:510:f::12) by IA1PR10MB6073.namprd10.prod.outlook.com (2603:10b6:208:3af::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.7; Tue, 9 Dec 2025 12:03:49 +0000 Received: from SN1PEPF000397AE.namprd05.prod.outlook.com (2603:10b6:510:f:cafe::64) by PH0PR07CA0067.outlook.office365.com (2603:10b6:510:f::12) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9412.6 via Frontend Transport; Tue, 9 Dec 2025 12:03:48 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 198.47.21.195) smtp.mailfrom=ti.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=ti.com; Received-SPF: Pass (protection.outlook.com: domain of ti.com designates 198.47.21.195 as permitted sender) receiver=protection.outlook.com; client-ip=198.47.21.195; helo=flwvzet201.ext.ti.com; pr=C Received: from flwvzet201.ext.ti.com (198.47.21.195) by SN1PEPF000397AE.mail.protection.outlook.com (10.167.248.52) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.4 via Frontend Transport; Tue, 9 Dec 2025 12:03:47 +0000 Received: from DFLE205.ent.ti.com (10.64.6.63) by flwvzet201.ext.ti.com (10.248.192.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 9 Dec 2025 06:03:46 -0600 Received: from DFLE213.ent.ti.com (10.64.6.71) by DFLE205.ent.ti.com (10.64.6.63) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 9 Dec 2025 06:03:46 -0600 Received: from lelvem-mr05.itg.ti.com (10.180.75.9) by DFLE213.ent.ti.com (10.64.6.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20 via Frontend Transport; Tue, 9 Dec 2025 06:03:46 -0600 Received: from hkshenoy.dhcp.ti.com (hkshenoy.dhcp.ti.com [172.24.235.208]) by lelvem-mr05.itg.ti.com (8.18.1/8.18.1) with ESMTP id 5B9C3XBM1165975; Tue, 9 Dec 2025 06:03:40 -0600 From: Harikrishna Shenoy To: , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v10 1/6] drm/bridge: cadence: cdns-mhdp8546-core: Set the mhdp connector earlier in atomic_enable() Date: Tue, 9 Dec 2025 17:33:27 +0530 Message-ID: <20251209120332.3559893-2-h-shenoy@ti.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251209120332.3559893-1-h-shenoy@ti.com> References: <20251209120332.3559893-1-h-shenoy@ti.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-C2ProcessedOrg: 333ef613-75bf-4e12-a4b1-8e3623f5dcea X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000397AE:EE_|IA1PR10MB6073:EE_ X-MS-Office365-Filtering-Correlation-Id: 401fa539-2a9a-4c0d-56e3-08de371b027c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|7416014|376014|36860700013|1800799024|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?nbz6COOueAlS3AQCb6f1OrpZaJ/JAS7z5cGkppC2/Cpw2IlwzBfCkqKrUjpf?= =?us-ascii?Q?lCRtVgbnA7xieCIR29zTREXfnpGYyYEpjEYlFqfoupQDJmWf+3LZjz/SgWSG?= =?us-ascii?Q?gdVgxemCBqq5hbrovdxoBg3m4EvRJedtCIC0CrA+lRmNJw4Kn1iK1DQ9LWMc?= =?us-ascii?Q?j+wPqBG86Gr7xJRz7G2XlF3qtZNFsMi9AAwlWw13k9D/UfLqxZbIQmcQs171?= =?us-ascii?Q?xQ4iicPsxDLQiURTTC1B/LM/rKQYTlMQ7VEdF7NGvEyKdwcB/+i6fOLKDU6h?= =?us-ascii?Q?bdqu7DH3lPS7FtYHeMLwS48lOyAAyPJQSbMk2OTSv59FsnGrXyQNGfovQ02j?= =?us-ascii?Q?zr+c+eHjn+tGOcOW/cZbxDdNAIQDhk8clrFYt9GqcCTbVhWngyhclWSDJoTv?= =?us-ascii?Q?9ElRAm2DGvO7sw67G28Q1XDx1Empxikjnbp+3KqL1gqGg8vm8Zs8gVtSkGeI?= =?us-ascii?Q?1ZPzkUtN1HW1DXcZ8h13zpDPPuv65fPNolj0b9FzG4QUcd7PO1h9I3qEAFYF?= =?us-ascii?Q?GYxrmajvP9hyTArWDX1fwNHdTMVRPXGqlLyziSJulTsWSIiTqdZzHnCwLBnP?= =?us-ascii?Q?3+0mBijGx/B9EKJHYqaV+tpedskYfUggwTmV7E6FrKwnCc4xxR3k3IfsZ+Km?= =?us-ascii?Q?+QBZpO8v9GbCslMyAOO2P8CH8g8ao022vBCuyBPJ6MPO23dGCplq+nP7Pdqc?= =?us-ascii?Q?lu31I26s4O6OIul83gyGggdwPpozEeRTRHU34mamVQG9/tKsrgOV09MbmqK1?= =?us-ascii?Q?dZFw35lgl/3+XKwuRhB04+283ltRnYoGeC9r1Ywg7YmHxjCrYIzxn5XmMebJ?= =?us-ascii?Q?dJDV/YxEyz+2sy2lR6jo+uQrFQ4oxSvP+AB7LzG9KdssQOUqR4oV6xBydVY4?= =?us-ascii?Q?JgY/s+9cilm0V7NlSqw57S+F20MXCyyjxtODi2XsBlbjwQ7BVR7JUo4xs2oY?= =?us-ascii?Q?MChhMPVVphXVwJT1YHmjSDc8Q5jlS6imGw+LUN3PrPsiKbZlq5EesavsORz0?= =?us-ascii?Q?MqqTk1Lk+waq9pzYUiNA17jD8LJoQgtwv64C2GSQDcAfNpmh2h74NujTVMnr?= =?us-ascii?Q?4MMVBbpZ5egFlrsiJY8f8TkKtkmDuRZe95df2gjyARE9MxU0A0HhSAXEjs5+?= =?us-ascii?Q?bh8A0LVJBbB/VsrU7WJQHBLiLUS3GSHQXwhzVVUyHBEGT1mKeSCucOrx4PGJ?= =?us-ascii?Q?gVLJteZSxGR00chFt5S4NlXHt9OcwUzwykt2d725I7+gW8Y/V/k3rP2DugZb?= =?us-ascii?Q?4tk4g70AkP9AEIxCPFuqC5Ewb0khqYN3G4GgV3IOlDBORYk3yShcGMEH2/2K?= =?us-ascii?Q?4M9YIXIifv5kcIM5HuSf2V0pf/9Krg0WDi6x2o7SsNVgVBUVBLuOp3a1zqBV?= =?us-ascii?Q?C9nt3mpdgP++O5351vykTyfMbjRAWp/1cBQ3qokkLb0aK4yh9sPRCNUG50vH?= =?us-ascii?Q?fJbwFMNQ/pc7g4y5uANrem1tkB/TN58Gg+CsSY7dL3QjfqNEUL5ocnVY//Uf?= =?us-ascii?Q?2ZqlYTwykZxEa7MRuKV6z6mOsUZPsh4qjUAAJekKrlS72J/45FkIDNcCtpgX?= =?us-ascii?Q?+6z1R9HsSD+Flus2KB0=3D?= X-Forefront-Antispam-Report: CIP:198.47.21.195;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:flwvzet201.ext.ti.com;PTR:ErrorRetry;CAT:NONE;SFS:(13230040)(82310400026)(7416014)(376014)(36860700013)(1800799024)(921020);DIR:OUT;SFP:1101; X-OriginatorOrg: ti.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2025 12:03:47.7853 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 401fa539-2a9a-4c0d-56e3-08de371b027c X-MS-Exchange-CrossTenant-Id: e5b49634-450b-4709-8abb-1e2b19b982b7 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e5b49634-450b-4709-8abb-1e2b19b982b7;Ip=[198.47.21.195];Helo=[flwvzet201.ext.ti.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF000397AE.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6073 Content-Type: text/plain; charset="utf-8" From: Jayesh Choudhary In case if we get errors in cdns_mhdp_link_up() or cdns_mhdp_reg_read() in atomic_enable, we will go to cdns_mhdp_modeset_retry_fn() and will hit NULL pointer while trying to access the mutex. We need the connector to be set before that. Unlike in legacy cases with flag !DRM_BRIDGE_ATTACH_NO_CONNECTOR, we do not have connector initialised in bridge_attach(), so add the mhdp->connector_ptr in device structure to handle both cases with DRM_BRIDGE_ATTACH_NO_CONNECTOR and !DRM_BRIDGE_ATTACH_NO_CONNECTOR, set it in atomic_enable() earlier to avoid possible NULL pointer dereference in recovery paths like modeset_retry_fn() with the DRM_BRIDGE_ATTACH_NO_CONNECTOR flag set. Fixes: c932ced6b585 ("drm/tidss: Update encoder/bridge chain connect model") Signed-off-by: Jayesh Choudhary Signed-off-by: Harikrishna Shenoy --- .../drm/bridge/cadence/cdns-mhdp8546-core.c | 29 ++++++++++--------- .../drm/bridge/cadence/cdns-mhdp8546-core.h | 1 + .../drm/bridge/cadence/cdns-mhdp8546-hdcp.c | 18 +++++++++--- 3 files changed, 30 insertions(+), 18 deletions(-) diff --git a/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c b/drivers/= gpu/drm/bridge/cadence/cdns-mhdp8546-core.c index 38726ae1bf150..ef2d0ea606f78 100644 --- a/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c +++ b/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c @@ -740,7 +740,7 @@ static void cdns_mhdp_fw_cb(const struct firmware *fw, = void *context) bridge_attached =3D mhdp->bridge_attached; spin_unlock(&mhdp->start_lock); if (bridge_attached) { - if (mhdp->connector.dev) + if (mhdp->connector_ptr) drm_kms_helper_hotplug_event(mhdp->bridge.dev); else drm_bridge_hpd_notify(&mhdp->bridge, cdns_mhdp_detect(mhdp)); @@ -1636,6 +1636,7 @@ static int cdns_mhdp_connector_init(struct cdns_mhdp_= device *mhdp) return ret; } =20 + mhdp->connector_ptr =3D conn; drm_connector_helper_add(conn, &cdns_mhdp_conn_helper_funcs); =20 ret =3D drm_display_info_set_bus_formats(&conn->display_info, @@ -1915,17 +1916,25 @@ static void cdns_mhdp_atomic_enable(struct drm_brid= ge *bridge, struct cdns_mhdp_device *mhdp =3D bridge_to_mhdp(bridge); struct cdns_mhdp_bridge_state *mhdp_state; struct drm_crtc_state *crtc_state; - struct drm_connector *connector; struct drm_connector_state *conn_state; struct drm_bridge_state *new_state; const struct drm_display_mode *mode; u32 resp; - int ret; + int ret =3D 0; =20 dev_dbg(mhdp->dev, "bridge enable\n"); =20 mutex_lock(&mhdp->link_mutex); =20 + mhdp->connector_ptr =3D drm_atomic_get_new_connector_for_encoder(state, + bridge->encoder); + if (WARN_ON(!mhdp->connector_ptr)) + goto out; + + conn_state =3D drm_atomic_get_new_connector_state(state, mhdp->connector_= ptr); + if (WARN_ON(!conn_state)) + goto out; + if (mhdp->plugged && !mhdp->link_up) { ret =3D cdns_mhdp_link_up(mhdp); if (ret < 0) @@ -1945,15 +1954,6 @@ static void cdns_mhdp_atomic_enable(struct drm_bridg= e *bridge, cdns_mhdp_reg_write(mhdp, CDNS_DPTX_CAR, resp | CDNS_VIF_CLK_EN | CDNS_VIF_CLK_RSTN); =20 - connector =3D drm_atomic_get_new_connector_for_encoder(state, - bridge->encoder); - if (WARN_ON(!connector)) - goto out; - - conn_state =3D drm_atomic_get_new_connector_state(state, connector); - if (WARN_ON(!conn_state)) - goto out; - if (mhdp->hdcp_supported && mhdp->hw_state =3D=3D MHDP_HW_READY && conn_state->content_protection =3D=3D @@ -2030,6 +2030,7 @@ static void cdns_mhdp_atomic_disable(struct drm_bridg= e *bridge, if (mhdp->info && mhdp->info->ops && mhdp->info->ops->disable) mhdp->info->ops->disable(mhdp); =20 + mhdp->connector_ptr =3D NULL; mutex_unlock(&mhdp->link_mutex); } =20 @@ -2296,7 +2297,7 @@ static void cdns_mhdp_modeset_retry_fn(struct work_st= ruct *work) =20 mhdp =3D container_of(work, typeof(*mhdp), modeset_retry_work); =20 - conn =3D &mhdp->connector; + conn =3D mhdp->connector_ptr; =20 /* Grab the locks before changing connector property */ mutex_lock(&conn->dev->mode_config.mutex); @@ -2373,7 +2374,7 @@ static void cdns_mhdp_hpd_work(struct work_struct *wo= rk) int ret; =20 ret =3D cdns_mhdp_update_link_status(mhdp); - if (mhdp->connector.dev) { + if (mhdp->connector_ptr) { if (ret < 0) schedule_work(&mhdp->modeset_retry_work); else diff --git a/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.h b/drivers/= gpu/drm/bridge/cadence/cdns-mhdp8546-core.h index bad2fc0c73066..a76775c768956 100644 --- a/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.h +++ b/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.h @@ -376,6 +376,7 @@ struct cdns_mhdp_device { struct mutex link_mutex; =20 struct drm_connector connector; + struct drm_connector *connector_ptr; struct drm_bridge bridge; =20 struct cdns_mhdp_link link; diff --git a/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-hdcp.c b/drivers/= gpu/drm/bridge/cadence/cdns-mhdp8546-hdcp.c index 42248f179b69d..21a7d2fb266e4 100644 --- a/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-hdcp.c +++ b/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-hdcp.c @@ -394,7 +394,7 @@ static int _cdns_mhdp_hdcp_disable(struct cdns_mhdp_dev= ice *mhdp) int ret; =20 dev_dbg(mhdp->dev, "[%s:%d] HDCP is being disabled...\n", - mhdp->connector.name, mhdp->connector.base.id); + mhdp->connector_ptr->name, mhdp->connector_ptr->base.id); =20 ret =3D cdns_mhdp_hdcp_set_config(mhdp, 0, false); =20 @@ -436,6 +436,10 @@ static int cdns_mhdp_hdcp_check_link(struct cdns_mhdp_= device *mhdp) int ret =3D 0; =20 mutex_lock(&mhdp->hdcp.mutex); + + if (!mhdp->connector_ptr) + goto out; + if (mhdp->hdcp.value =3D=3D DRM_MODE_CONTENT_PROTECTION_UNDESIRED) goto out; =20 @@ -445,7 +449,7 @@ static int cdns_mhdp_hdcp_check_link(struct cdns_mhdp_d= evice *mhdp) =20 dev_err(mhdp->dev, "[%s:%d] HDCP link failed, retrying authentication\n", - mhdp->connector.name, mhdp->connector.base.id); + mhdp->connector_ptr->name, mhdp->connector_ptr->base.id); =20 ret =3D _cdns_mhdp_hdcp_disable(mhdp); if (ret) { @@ -487,13 +491,19 @@ static void cdns_mhdp_hdcp_prop_work(struct work_stru= ct *work) struct cdns_mhdp_device *mhdp =3D container_of(hdcp, struct cdns_mhdp_device, hdcp); - struct drm_device *dev =3D mhdp->connector.dev; + struct drm_device *dev =3D NULL; struct drm_connector_state *state; =20 + if (mhdp->connector_ptr) + dev =3D mhdp->connector_ptr->dev; + + if (!dev) + return; + drm_modeset_lock(&dev->mode_config.connection_mutex, NULL); mutex_lock(&mhdp->hdcp.mutex); if (mhdp->hdcp.value !=3D DRM_MODE_CONTENT_PROTECTION_UNDESIRED) { - state =3D mhdp->connector.state; + state =3D mhdp->connector_ptr->state; state->content_protection =3D mhdp->hdcp.value; } mutex_unlock(&mhdp->hdcp.mutex); --=20 2.34.1