aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath25/patches-4.9/220-enet_micrel_workaround.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ath25/patches-4.9/220-enet_micrel_workaround.patch')
-rw-r--r--target/linux/ath25/patches-4.9/220-enet_micrel_workaround.patch24
1 files changed, 22 insertions, 2 deletions
diff --git a/target/linux/ath25/patches-4.9/220-enet_micrel_workaround.patch b/target/linux/ath25/patches-4.9/220-enet_micrel_workaround.patch
index 398495a80c..91b9792515 100644
--- a/target/linux/ath25/patches-4.9/220-enet_micrel_workaround.patch
+++ b/target/linux/ath25/patches-4.9/220-enet_micrel_workaround.patch
@@ -66,7 +66,7 @@
if (ar231x_mdiobus_probe(dev) != 0) {
printk(KERN_ERR "%s: mdiobus_probe failed\n", dev->name);
rx_tasklet_cleanup(dev);
-@@ -329,8 +374,10 @@ static int ar231x_remove(struct platform
+@@ -326,8 +371,10 @@ static int ar231x_remove(struct platform
rx_tasklet_cleanup(dev);
ar231x_init_cleanup(dev);
unregister_netdev(dev);
@@ -79,7 +79,27 @@
kfree(dev);
return 0;
}
-@@ -1079,6 +1126,9 @@ static int ar231x_ioctl(struct net_devic
+@@ -870,7 +917,8 @@ static int ar231x_open(struct net_device
+
+ sp->eth_regs->mac_control |= MAC_CONTROL_RE;
+
+- phy_start(sp->phy_dev);
++ if (sp->phy_dev)
++ phy_start(sp->phy_dev);
+
+ return 0;
+ }
+@@ -951,7 +999,8 @@ static int ar231x_close(struct net_devic
+
+ #endif
+
+- phy_stop(sp->phy_dev);
++ if (sp->phy_dev)
++ phy_stop(sp->phy_dev);
+
+ return 0;
+ }
+@@ -995,6 +1044,9 @@ static int ar231x_ioctl(struct net_devic
{
struct ar231x_private *sp = netdev_priv(dev);