Received: by 2002:a05:7412:37c9:b0:e2:908c:2ebd with SMTP id jz9csp466291rdb; Tue, 19 Sep 2023 00:11:51 -0700 (PDT) X-Google-Smtp-Source: AGHT+IECAzDbm/KTjv9ckNBISwtIbgpqwc6Olb5NZZX9Hpbx5oV8Hyu0cT/ynreWZS91rHj+OQsL X-Received: by 2002:a05:6a00:c96:b0:68f:d864:596 with SMTP id a22-20020a056a000c9600b0068fd8640596mr14433929pfv.3.1695107511088; Tue, 19 Sep 2023 00:11:51 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1695107511; cv=pass; d=google.com; s=arc-20160816; b=aTaxSDNiatiAKh8piwEmOzeIxGQjPLBfbD5gbvAi40jhL26S6m49VDlXzPiZ2+NpfV n7UYQhf/gfHxihBTEfhYz5QO0rDobWZGr7aHBT2dpjpEUmkiGpE5d1epeMClwEPM05ih ShmEY8cs1jVfJjIJBcDhzjcaked0D5SolpZ+Rm9q/MJSP8jUQL6LUfjxw79qOouvtHYY 9E/uqa25KscnEbSBKaCCEITyX2YizLeNXBdOt21r/l2PE9y/W7gQFdjYS5dLmCqWyFLa 4gvqwF1gEYc2HczF/VmTHwCILM8QcHGW/Oj8dGWPvBxh80P/RnQCo1EyjdIE42dlu3So pkPw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=HCDteOujEd/d9k0XooeS/VLA1fV7VyE8cWwaWhwIr1s=; fh=gz9s08JtkJoqAiKG8MiNt2DW74xD3nxv1GzV7YR5ljo=; b=iBU17SA4aMzrOwDw3Ymbmc/+MZwRscbZTUYfeda9TAX2WqtEUNKKqqVz4f1V0IC8cR jDmJvZTwUghLFKqWrWAm+9wt2+/ekHZ9YdmZfgfHNd5A0JFauHfCt4SSP5S6999oZ1dd ckb73uJyU2UKpNF6BNMTVwS+30iVhcPzhjpJNo82oM+9tnEf8JqFLtjx8nfAgoto9rmZ nLnI/dGR2ok+PhplCBgJwaFt6HAn6CRTFIRdzjVT+tLjh+IDwUMIOPWsiRTisGSRfIxe xhB8SdF93Y5ghEBmLfTPFN2YX1HPb204OlCHmw+62+jr1LN84Pzf/aTMBfDyRUa+mrCm N+xw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=omlcAY8Q; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from howler.vger.email (howler.vger.email. [2620:137:e000::3:4]) by mx.google.com with ESMTPS id k8-20020a056a00134800b0068e48477befsi9515137pfu.211.2023.09.19.00.11.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Sep 2023 00:11:51 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) client-ip=2620:137:e000::3:4; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=omlcAY8Q; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id 052A08099267; Mon, 18 Sep 2023 18:45:56 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230473AbjISBp5 (ORCPT + 99 others); Mon, 18 Sep 2023 21:45:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52064 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230462AbjISBp4 (ORCPT ); Mon, 18 Sep 2023 21:45:56 -0400 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2052.outbound.protection.outlook.com [40.107.7.52]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E4F6C10A for ; Mon, 18 Sep 2023 18:45:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V/sqXSAPgr/qdmZclLrUPTpOJ9d6Nn/aXl0eoNXeqF0KRqDuRReJkqEJXWkXBymHFPdxl/Ay1If23Jth3Bn6Mt0mI4kGcQUaqx9PkLB3rCTzAo4jF+mmv3KdGt5xEASk1FVDN/JkUfQe7lGJkjME7nCCgTQWOx+22kz2IzHtr6qb7ikbN1XZ4IHPqivyWZ5ME7eCWFA0zWC1Alr3da8vIuBoUfVGYX44YhG1gB6dNvq4nJ4adA03vzx42PFq+hlHUWOyCCuR9bPwHvuqcjprCPM0mLRBRFTrUclbuvWva1AgJCgws6fAL7kAOXxXQZh5pEHP4BHrJfJIAXYVbloAZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=HCDteOujEd/d9k0XooeS/VLA1fV7VyE8cWwaWhwIr1s=; b=b0jOmW6pDeDtS+lW20cGyIUjNDUiSPjhDovpQr0irHO+Li52X05nuGlVwgmyq9kBdE9FZCTBmRyzE9fGpT8cdpG2hgQwLV+DuE23Gsph7YZ0sE8qCEvo+yRVa5awDSteANdFvVN2WRPw3uTj/wUSyBKNp9i6vmY5ytT9cBHpTe3lzGzCe2EfC9VSQMPsszNfV1/rW/dZ8ibummfM6DRnfMf3m+UhvM5tP8vY5Ej7AaIAPVgu43W3Uq49KI+KjsUHPSEPf5Zyj14f7knwVQ3cCbj5wz+2A9ZgHJHvs5izSb5ShXj+3/k6xdAkmTsgvkz9Egfpyz6AyFGpHFuAgtBUpQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HCDteOujEd/d9k0XooeS/VLA1fV7VyE8cWwaWhwIr1s=; b=omlcAY8Q/RO5kkAZ2zUp+VgiTcR7W77cq53Nub9M2/2dKcPLEw7V2tR+bno+dfCoAiHF0cmAwwpXhq/ND2DoZ0FNBGKBxejHCN3Znwp6EE0T0dXX47uwDjlTBqNzxmaumzAmbFrsqkOpGC/MRKyZmk4KTRRKy247f3DMPxh54TA= Received: from AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) by DB9PR04MB8265.eurprd04.prod.outlook.com (2603:10a6:10:24f::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.26; Tue, 19 Sep 2023 01:45:45 +0000 Received: from AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::9018:e395:332c:e24b]) by AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::9018:e395:332c:e24b%4]) with mapi id 15.20.6792.026; Tue, 19 Sep 2023 01:45:45 +0000 From: Ying Liu To: AngeloGioacchino Del Regno , "andrzej.hajda@intel.com" CC: "neil.armstrong@linaro.org" , "rfoss@kernel.org" , "Laurent.pinchart@ideasonboard.com" , "jonas@kwiboo.se" , "jernej.skrabec@gmail.com" , "airlied@gmail.com" , "daniel@ffwll.ch" , "ulf.hansson@linaro.org" , "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , "kernel@collabora.com" , "ehristev@collabora.com" , "wenst@chromium.org" Subject: RE: [PATCH] drm/bridge: panel: Fix device link for DRM_BRIDGE_ATTACH_NO_CONNECTOR Thread-Topic: [PATCH] drm/bridge: panel: Fix device link for DRM_BRIDGE_ATTACH_NO_CONNECTOR Thread-Index: AQHZ6kDy3sEuq/n38UORlSaHmuHxHbAhX96Q Date: Tue, 19 Sep 2023 01:45:45 +0000 Message-ID: References: <20230918150043.403250-1-angelogioacchino.delregno@collabora.com> In-Reply-To: <20230918150043.403250-1-angelogioacchino.delregno@collabora.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: AM7PR04MB7046:EE_|DB9PR04MB8265:EE_ x-ms-office365-filtering-correlation-id: 8bd2893f-9e0a-4997-28e7-08dbb8b22449 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: d9SodA9h8fVgEzDl0SSIXaQiimVQzMvhsQBuaki4UY+MGZtyYopnVoTxbnrCQbAJSgLCn0teBF5P6l4oS5pCn8COMTxO1XzATPE2gI2EPQj+Inw0LqG6UGRcW0SFnoZnvG874qtfw4RQFdMlIJzql8Nbk4hbNZarHsob+shgVtXDSUH/r7WWGvaUHzX5d812MTyLEPySsSH/DxXIrRyAL3j/YP3HBtiDS3c+der+uVMzXS7Et6ZRCUrvA5RBNLr8UYth9sMJiv1pKUFZK4YoHUsfe2X75ZsiPAS3B0BAb7AHQiU58zegULBlFqzCMTf77AOTXfdjNdJKIE8UYMiEXLjrzMdM17q20ktJyI73bQ/vcfILkXy1qQ5w9zEhTJTeKbl9GdMdPH3CFVP7sRQlQYSEr/wp/qMLy+PGQ1qcykAcYfmX35Bvou4WjhJOnnraxQeMu87PdWKqzfR+yuRxOnJS+Hf579R3jiTrmxnVGlgdV8wn1TEHH8/xX/9g/HhoXP3ZUSJYrm6OtuM++zTn0nGkzLdUFSe2UWMfjR47ITVWooKlnEKR1ymCa5QlIqzXqpH6PpLLEstU50cVmWEsSeuSr3GF4RRH9SNlMl/p0u36LU5DVzudWwsdNjVg6cFD x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM7PR04MB7046.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(136003)(376002)(396003)(346002)(186009)(1800799009)(451199024)(38070700005)(33656002)(55016003)(38100700002)(122000001)(86362001)(71200400001)(53546011)(7696005)(478600001)(66556008)(52536014)(64756008)(8936002)(76116006)(66946007)(66476007)(54906003)(8676002)(66446008)(2906002)(4326008)(9686003)(83380400001)(6506007)(5660300002)(41300700001)(110136005)(7416002)(316002)(26005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?pl/wtKNPmHKfTXoUSXxuoivww5IOLD/FQBk9XHK4wktvCRkHHddUKxq8lMMl?= =?us-ascii?Q?1fzZ/gyikXPMOFXuNscd3nfsyJsVCO39yarrmHUF7ZgY/K71ab52qqJ+H5CA?= =?us-ascii?Q?FuUXQgzumsQW7MMnMutjAab3S2hV29UVNrZ8eSVu7q1WV19tZq2VfxBBGQTz?= =?us-ascii?Q?jBJSFHZmIPUVu3Tz1XepfCgV4OQS1DlXNL2RSGUbBk1Fmx32JiSqFqYFUj7G?= =?us-ascii?Q?YJ2g2ECuXnzRPp55Ju8v3hcn3PSjZi0AMAzWH5+dm7yY+cZqkMdGlM929Y9p?= =?us-ascii?Q?uI2LX5YtduLvQjD48F6gg4wxBAWUukAzgLBSY2azXs68NF8ieGC+5vWNuOop?= =?us-ascii?Q?Ah+FloTAbPhPmj9IFMqNHkHCnAChuOkCIHZni/jU0EGBNgMWEubTtEV1reTo?= =?us-ascii?Q?m9eBug3JRbluvErndNkOrVXq+wkPB6NdnNZ6PwSp7/Uzs6QNkqcnc7bIuj/Y?= =?us-ascii?Q?k7rhGJbQnOwPJovraNHLEEUvGADfub1D+XxgQ/7uoAzjcZ+qQRyNUleHfW62?= =?us-ascii?Q?QtTc8axqWijtYr2/sw3pkENn4Q7I/kV/CghnWHlo8JpTeG5neiyxjTuQJ0lD?= =?us-ascii?Q?ezHeqZGMXEeXIBaVCncQhs8Wv9LWVGX4IYmpcaQmZALrdiQTIYQscsnRfxyV?= =?us-ascii?Q?fWjix3iLvVTi5/5M5b0o64+naFuBqDhUIrMEp900v2R1/WxO4we17iQP80aW?= =?us-ascii?Q?swhdRhg+Wa8OrbEB7WipvWvZkbce24i2pBvpYP5y/s6Oj6sWEUg+rWMaOJvO?= =?us-ascii?Q?aqk7zgIRc+Kr5+TXigAIqFZCD1cQ/hA/MkjmPq0ZlE/rKRxZX65ASSggxdsA?= =?us-ascii?Q?998tvHxO7jkPXipGoH5lfuJAwwdpuS6a4BQZXo1FVxzHI8ZvDTIaQuTuB916?= =?us-ascii?Q?Fy/4xlaq5OTZ+ENnAwE0yuSkymikjuw1lqNUE3uU3IOqARDWC7dvoSyOSBiO?= =?us-ascii?Q?5/a/ns+5P0D+pHAyVPitj2AR19NLr3ArWi0NflHdUAvrzNUiitWdccws3Ev2?= =?us-ascii?Q?3iXPcSrPMhiQUOBTksHepQ3cJliIOe59UnxsHJgzMDxY8IzGe/EGEurdNE74?= =?us-ascii?Q?vQjle8Hrfsfo77l2mIbQU+ZLRqtkIZZpcwSne+iwO/AGLz7JE0yGNm+Ges4H?= =?us-ascii?Q?i3Me2V+Z4i2YjuCBKI5ytpJ2+y/Tl734vXK0Ld4sPVLP7OPq0TYi4/Jr+Alp?= =?us-ascii?Q?0Fy4/LA8K6hGkqoJb7EL/+WTGfbjH3VrFsnxL8EsAQpsKHiwUruG5X5x28Kf?= =?us-ascii?Q?KR7sjRAfgg8LThBnJwUBl2O2Wr2CfyWbf6ePGXOx6n+nAAS5vbBY6+re5vkj?= =?us-ascii?Q?WV8AD4CokhAADIEttvmDWG8mzFG2L+rlIvos7Sv+D4UqJb+lDRSmMfkQFQte?= =?us-ascii?Q?djTR0BUSbjWASm1wfJeIUCCwFzDx+Td4DXaog+izdvVQybLbcpW/5DZaPhvD?= =?us-ascii?Q?fcMwWHlFOYeyTGm2rBJir1GZ0z+OUXIDNEmx0tGeW4Vzt8cTp+i0nnTSIwsQ?= =?us-ascii?Q?pGcaPFNlyQHbps5kP+LZVGp6V7MFckfMHllYfxTq3y0CJeSnIue0hphHRe0q?= =?us-ascii?Q?GBDYScQT2vnrDxZIld0=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM7PR04MB7046.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8bd2893f-9e0a-4997-28e7-08dbb8b22449 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Sep 2023 01:45:45.5401 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: SGD8U5tanqi2WTooVL8xKuhYAPd4gUaEf/eUVpxhfBvDNuDI2dwcq4x83e+YU+IKOL4zHFaUBcqNcAoSO0fQXg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8265 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Mon, 18 Sep 2023 18:45:56 -0700 (PDT) Hi Angelo, Thank you for the patch. On Monday, September 18, 2023 11:01 PM, AngeloGioacchino Del Regno wrote: > When external bridges are attached with > DRM_BRIDGE_ATTACH_NO_CONNECTOR, > the panel bridge may also get the same flag, but in the .attach() > callback for the panel bridge a device link is added only when this > flag is not present; To make things worse, the .detach() callback > tries to delete the device link unconditionally and without checking > if it was created in the first place, crashing the kernel with a NULL > pointer kernel panic upon calling panel_bridge_detach(). >=20 > Fix that by moving the device_link_add() call before checking if the > DRM_BRIDGE_ATTACH_NO_CONNECTOR flag is present. >=20 > Fixes: 199cf07ebd2b ("drm/bridge: panel: Add a device link between drm > device and panel device") > Signed-off-by: AngeloGioacchino Del Regno > > --- > drivers/gpu/drm/bridge/panel.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) >=20 > diff --git a/drivers/gpu/drm/bridge/panel.c > b/drivers/gpu/drm/bridge/panel.c > index e00d2e94c751..8c507dfd589e 100644 > --- a/drivers/gpu/drm/bridge/panel.c > +++ b/drivers/gpu/drm/bridge/panel.c > @@ -67,14 +67,6 @@ static int panel_bridge_attach(struct drm_bridge > *bridge, > struct drm_device *drm_dev =3D bridge->dev; > int ret; >=20 > - if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR) > - return 0; > - > - if (!bridge->encoder) { > - DRM_ERROR("Missing encoder\n"); > - return -ENODEV; > - } > - > panel_bridge->link =3D device_link_add(drm_dev->dev, panel->dev, > DL_FLAG_STATELESS); > if (!panel_bridge->link) { > @@ -83,6 +75,14 @@ static int panel_bridge_attach(struct drm_bridge > *bridge, > return -EINVAL; > } >=20 > + if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR) > + return 0; > + > + if (!bridge->encoder) { > + DRM_ERROR("Missing encoder\n"); Shouldn't the device link be deleted in case of error? Regards, Liu Ying > + return -ENODEV; > + } > + > drm_connector_helper_add(connector, > &panel_bridge_connector_helper_funcs); >=20 > -- > 2.42.0