| Message ID | 20260830130600.560-1-pengpeng@iscas.ac.cn |
|---|---|
| State | New |
| Headers | show |
| Series | i2c: aspeed: propagate reset deassert errors | expand |
diff --git a/drivers/i2c/busses/i2c-aspeed.c b/drivers/i2c/busses/i2c-aspeed.c index a26b74c712061..bf29719bab1ea 100644 --- a/drivers/i2c/busses/i2c-aspeed.c +++ b/drivers/i2c/busses/i2c-aspeed.c @@ -1023,7 +1023,9 @@ static int aspeed_i2c_probe_bus(struct platform_device *pdev) "missing or invalid reset controller device tree entry\n"); return PTR_ERR(bus->rst); } - reset_control_deassert(bus->rst); + ret = reset_control_deassert(bus->rst); + if (ret) + return ret; ret = of_property_read_u32(pdev->dev.of_node, "bus-frequency", &bus->bus_frequency);
aspeed_i2c_probe_bus() initializes and registers an adapter after deasserting its shared reset, without checking whether the reset provider accepted that transition. Do not publish an adapter whose controller may still be held in reset. Fixes: edd20e95bca4 ("i2c: aspeed: Deassert reset in probe") Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn> --- drivers/i2c/busses/i2c-aspeed.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) base-commit: 08dbfad3f5040f5bdb6c529da20d6d4e81fefd72