diff --git a/target/linux/generic/files/drivers/net/phy/rtl8366_smi.c b/target/linux/generic/files/drivers/net/phy/rtl8366_smi.c
index e34c84c97e6c6ffb0fcaa46633d83443bc6c08b0..28e1a8505d4fd490c54f9bee8b0850538bd11561 100644
--- a/target/linux/generic/files/drivers/net/phy/rtl8366_smi.c
+++ b/target/linux/generic/files/drivers/net/phy/rtl8366_smi.c
@@ -1202,12 +1202,12 @@ int rtl8366_smi_init(struct rtl8366_smi *smi)
 	if (err) {
 		dev_err(smi->parent, "VLAN initialization failed, err=%d\n",
 			err);
-		goto err_disable_hw;
+		goto err_free_sck;
 	}
 
 	err = rtl8366_enable_all_ports(smi, 1);
 	if (err)
-		goto err_disable_hw;
+		goto err_free_sck;
 
 	err = rtl8366_smi_mii_init(smi);
 	if (err)