Testing USI8 I2C with an eeprom revealed that when the USI8 leaf clock is disabled it leads to the CMU_TOP PERIC0 IP gate clock disablement, which then makes the system hang. To prevent this, mark CLK_GOUT_CMU_PERIC0_IP as critical. Other clocks will be marked accordingly when tested. Signed-off-by: Tudor Ambarus <tudor.ambarus@xxxxxxxxxx> --- drivers/clk/samsung/clk-gs101.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/clk/samsung/clk-gs101.c b/drivers/clk/samsung/clk-gs101.c index 3d194520b05e..08d80fca9cd6 100644 --- a/drivers/clk/samsung/clk-gs101.c +++ b/drivers/clk/samsung/clk-gs101.c @@ -1402,7 +1402,7 @@ static const struct samsung_gate_clock cmu_top_gate_clks[] __initconst = { "mout_cmu_peric0_bus", CLK_CON_GAT_GATE_CLKCMU_PERIC0_BUS, 21, 0, 0), GATE(CLK_GOUT_CMU_PERIC0_IP, "gout_cmu_peric0_ip", "mout_cmu_peric0_ip", - CLK_CON_GAT_GATE_CLKCMU_PERIC0_IP, 21, 0, 0), + CLK_CON_GAT_GATE_CLKCMU_PERIC0_IP, 21, CLK_IS_CRITICAL, 0), GATE(CLK_GOUT_CMU_PERIC1_BUS, "gout_cmu_peric1_bus", "mout_cmu_peric1_bus", CLK_CON_GAT_GATE_CLKCMU_PERIC1_BUS, 21, 0, 0), -- 2.43.0.472.g3155946c3a-goog