obj-$(CONFIG_NET_MEDIATEK_STAR_EMAC) += mtk_star_emac.o
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -2303,7 +2303,10 @@ static int mtk_open(struct net_device *d
+@@ -2303,14 +2303,20 @@ static int mtk_open(struct net_device *d
/* we run 2 netdevs on the same dma ring so we only bring it up once */
if (!refcount_read(ð->dma_refcnt)) {
+
+ err = mtk_start_dma(eth);
- if (err)
if (err) {
-@@ -2311,7 +2314,10 @@ static int mtk_open(struct net_device *d
+ phylink_disconnect_phy(mac->phylink);
return err;
}
napi_enable(ð->tx_napi);
napi_enable(ð->rx_napi);
-@@ -2378,6 +2384,9 @@ static int mtk_stop(struct net_device *d
+@@ -2377,6 +2383,9 @@ static int mtk_stop(struct net_device *d
mtk_dma_free(eth);
return 0;
}
-@@ -3106,6 +3115,13 @@ static int mtk_probe(struct platform_dev
+@@ -3105,6 +3114,13 @@ static int mtk_probe(struct platform_dev
goto err_free_dev;
}
for (i = 0; i < MTK_MAX_DEVS; i++) {
if (!eth->netdev[i])
continue;
-@@ -3180,6 +3196,7 @@ static const struct mtk_soc_data mt7621_
+@@ -3179,6 +3195,7 @@ static const struct mtk_soc_data mt7621_
.hw_features = MTK_HW_FEATURES,
.required_clks = MT7621_CLKS_BITMAP,
.required_pctl = false,
};
static const struct mtk_soc_data mt7622_data = {
-@@ -3188,6 +3205,7 @@ static const struct mtk_soc_data mt7622_
+@@ -3187,6 +3204,7 @@ static const struct mtk_soc_data mt7622_
.hw_features = MTK_HW_FEATURES,
.required_clks = MT7622_CLKS_BITMAP,
.required_pctl = false,