+@@ -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