On 2020/11/12 20:41, Vladimir Oltean wrote: > > gswip_gphy_fw_list > -> gswip_gphy_fw_probe > -> gswip_gphy_fw_load > -> clk_prepare_enable > -> then fails > > Then gswip_gphy_fw_list does this: > for_each_available_child_of_node(gphy_fw_list_np, gphy_fw_np) { > err = gswip_gphy_fw_probe(priv, &priv->gphy_fw[i], > gphy_fw_np, i); > if (err) > goto remove_gphy; > i++; > } > > return 0; > > remove_gphy: > for (i = 0; i < priv->num_gphy_fw; i++) > gswip_gphy_fw_remove(priv, &priv->gphy_fw[i]); > > > Then gswip_gphy_fw_remove does this: > gswip_gphy_fw_remove > -> clk_disable_unprepare > > What's wrong with this? > . > Thanks for reminding, I got it wrong.