[PATCH] i2c: axxia: disable clock after removing adapter in remove

From: Jiawen Liu

Date: Tue Aug 18 2026 - 08:46:25 EST


From: jiawen <1298662399@xxxxxx>

In axxia_i2c_remove, the controller clock is disabled before
i2c_del_adapter is called. This leaves adapter teardown running after
the hardware clock is off, which can cause undefined behavior or hangs.

Reorder the calls to disable the clock after removing the adapter,
ensuring the adapter is fully torn down while the clock is still
enabled.

Signed-off-by: jiawen <1298662399@xxxxxx>
---
diff --git a/drivers/i2c/busses/i2c-axxia.c b/drivers/i2c/busses/i2c-axxia.c
--- a/drivers/i2c/busses/i2c-axxia.c
+++ b/drivers/i2c/busses/i2c-axxia.c
@@ -795,8 +795,8 @@
{
struct axxia_i2c_dev *idev = platform_get_drvdata(pdev);

+ i2c_del_adapter(&idev->adapter);
clk_disable_unprepare(idev->i2c_clk);
- i2c_del_adapter(&idev->adapter);
}

/* Match table for of_platform binding */