From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pidgin.makrotopia.org (pidgin.makrotopia.org [185.142.180.65]) (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 ECE714B5CD2 for ; Thu, 24 Sep 2026 18:40:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.142.180.65 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790275242; cv=none; b=FiC9FY6zaJCuwREOs9nFZVmcAT0phuwTivzUkjeAq8Dcb5T5LO534no8WafaGXndpbW9DbdlfLd8jTjdsrSEYYo8/lI2dv19slArmEhUtoyuftcw4RXJToz4GLaVJpsxE4QrbUBrlC3poE443duuhMUTtVUDiFPwdHqAbYwkpZA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790275242; c=relaxed/simple; bh=mm69MQphFKNf1ghwMta24KiNHKsOvqf8qDdWKyMGr/g=; h=Date:From:To:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=VMF2OlSlMANGweZnKq2oA7QNFU8jpWARquhUOhZHUmEt6Ug2bWqb2/izx3tetkx/6g/gwuTVHzyyNGo4zFqwT3FtUC6mKWtTWz48A8R69U0pZkxBlsJ/47sl7gwFDFFaN2pEDQ54pqvrOnsAGS6ZQdQSxAZqQlP1dgA/ctQNxuM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=makrotopia.org; spf=pass smtp.mailfrom=makrotopia.org; arc=none smtp.client-ip=185.142.180.65 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=makrotopia.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=makrotopia.org Received: from local by pidgin.makrotopia.org with esmtpsa (TLS1.3:TLS_AES_256_GCM_SHA384:256:X25519MLKEM768) (Exim 4.100) (envelope-from ) id 1x9oMx-000000007IY-2Djm; Thu, 24 Sep 2026 18:40:31 +0000 Date: Thu, 24 Sep 2026 19:40:28 +0100 From: Daniel Golle To: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Luca Ceresoli , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Matthias Brugger , AngeloGioacchino Del Regno , Allen Chen , Hermes Wu , Pin-yen Lin , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Subject: [PATCH v7 04/14] drm/bridge: it6505: unregister DP AUX adapter on bridge detach Message-ID: <1bbe09fb84d2cdeb5ff2179749a8769ac79ce77a.1790275151.git.daniel@makrotopia.org> References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: The DP AUX adapter is registered in .attach() but only unregistered in i2c remove(). Unbinding and rebinding the DRM device while the i2c driver stays bound registers the adapter a second time, which fails. Unregister it in .detach() instead, and also on the .attach() error path, which so far leaked the registration. Fixes: b5c84a9edcd4 ("drm/bridge: add it6505 driver") Signed-off-by: Daniel Golle --- v7: no changes v6: no changes v5: new patch --- drivers/gpu/drm/bridge/ite-it6505.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/bridge/ite-it6505.c b/drivers/gpu/drm/bridge/ite-it6505.c index 9c4aae383c1c..19bab8d65e22 100644 --- a/drivers/gpu/drm/bridge/ite-it6505.c +++ b/drivers/gpu/drm/bridge/ite-it6505.c @@ -3096,6 +3096,7 @@ static int it6505_bridge_attach(struct drm_bridge *bridge, ret = it6505_use_notifier_module(it6505); if (ret < 0) { dev_err(dev, "use notifier module failed"); + drm_dp_aux_unregister(&it6505->aux); return ret; } } @@ -3109,6 +3110,7 @@ static void it6505_bridge_detach(struct drm_bridge *bridge) flush_work(&it6505->link_works); it6505_remove_notifier_module(it6505); + drm_dp_aux_unregister(&it6505->aux); } static enum drm_mode_status @@ -3655,7 +3657,6 @@ static void it6505_i2c_remove(struct i2c_client *client) struct it6505 *it6505 = i2c_get_clientdata(client); drm_bridge_remove(&it6505->bridge); - drm_dp_aux_unregister(&it6505->aux); it6505_debugfs_remove(it6505); it6505_remove_notifier_module(it6505); disable_irq(it6505->irq); -- 2.55.0