The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: Johan Hovold <johan@kernel.org>
To: Wolfram Sang <wsa+renesas@sang-engineering.com>
Cc: Andi Shyti <andi.shyti@kernel.org>,
	linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org,
	Johan Hovold <johan@kernel.org>,
	stable@vger.kernel.org, Benjamin Tissoires <bentiss@kernel.org>
Subject: [PATCH v2 1/9] i2c: core: fix irq domain leak on adapter registration failure
Date: Fri,  8 May 2026 11:03:03 +0200	[thread overview]
Message-ID: <20260508090311.379333-2-johan@kernel.org> (raw)
In-Reply-To: <20260508090311.379333-1-johan@kernel.org>

Make sure to tear down the host notify irq domain on adapter
registration failure to avoid leaking it.

This issue was flagged by Sashiko when reviewing another adapter
registration fix.

Fixes: 4d5538f5882a ("i2c: use an IRQ to report Host Notify events, not alert")
Cc: stable@vger.kernel.org	# 4.10
Cc: Benjamin Tissoires <bentiss@kernel.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
---
 drivers/i2c/i2c-core-base.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c
index 9c46147e3506..abe8341c1d6e 100644
--- a/drivers/i2c/i2c-core-base.c
+++ b/drivers/i2c/i2c-core-base.c
@@ -1574,7 +1574,7 @@ static int i2c_register_adapter(struct i2c_adapter *adap)
 	if (res) {
 		pr_err("adapter '%s': can't register device (%d)\n", adap->name, res);
 		put_device(&adap->dev);
-		goto out_list;
+		goto err_remove_irq_domain;
 	}
 
 	adap->debugfs = debugfs_create_dir(dev_name(&adap->dev), i2c_debugfs_root);
@@ -1609,6 +1609,8 @@ static int i2c_register_adapter(struct i2c_adapter *adap)
 	init_completion(&adap->dev_released);
 	device_unregister(&adap->dev);
 	wait_for_completion(&adap->dev_released);
+err_remove_irq_domain:
+	i2c_host_notify_irq_teardown(adap);
 out_list:
 	mutex_lock(&core_lock);
 	idr_remove(&i2c_adapter_idr, adap->nr);
-- 
2.53.0


  reply	other threads:[~2026-05-08  9:03 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-08  9:03 [PATCH v2 0/9] i2c: core: adapter registration fixes Johan Hovold
2026-05-08  9:03 ` Johan Hovold [this message]
2026-05-08  9:03 ` [PATCH v2 2/9] i2c: core: fix hang on adapter registration failure Johan Hovold
2026-05-08  9:03 ` [PATCH v2 3/9] i2c: core: fix adapter probe deferral loop Johan Hovold
2026-05-08  9:03 ` [PATCH v2 4/9] i2c: core: fix adapter debugfs creation Johan Hovold
2026-05-08  9:03 ` [PATCH v2 5/9] i2c: core: disable runtime PM on adapter registration failure Johan Hovold
2026-05-08  9:03 ` [PATCH v2 6/9] i2c: core: fix adapter registration race Johan Hovold
2026-05-08  9:03 ` [PATCH v2 7/9] i2c: core: fix adapter deregistration race Johan Hovold
2026-05-08  9:03 ` [PATCH v2 8/9] i2c: core: clean up bus id allocation Johan Hovold
2026-05-08  9:03 ` [PATCH v2 9/9] i2c: core: clean up adapter registration error label Johan Hovold

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260508090311.379333-2-johan@kernel.org \
    --to=johan@kernel.org \
    --cc=andi.shyti@kernel.org \
    --cc=bentiss@kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=wsa+renesas@sang-engineering.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox