net: bcmgenet: fix bcmgenet_fixed_phy_link_update()

bcmgenet_fixed_phy_link_update() is getting called from PHY detach path:
  bcmgenet_fixed_phy_link_update()
  fixed_mdio_read()
  mdiobus_read()
  genphy_suspend()
  phy_suspend()
  phy_detach()
  bcmgenet_close()

Looking at phy_detach() code, it does:
  phydev->attached_dev->phydev = NULL;
  phydev->attached_dev = NULL;
  phy_suspend(phydev);

bcmgenet_fixed_phy_link_update() needs to check its function parameters
more carefully before doing anything.

Change-Id: Ic3b888c1cdc4cd9b88fd093a048bfcc856e6809b
diff --git a/drivers/net/ethernet/broadcom/genet/bcmmii.c b/drivers/net/ethernet/broadcom/genet/bcmmii.c
index 21f2170..321d401 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmmii.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c
@@ -454,11 +454,8 @@
 static int bcmgenet_fixed_phy_link_update(struct net_device *dev,
 					  struct fixed_phy_status *status)
 {
-        struct bcmgenet_priv *priv = netdev_priv(dev);
-        struct phy_device *phydev = priv->phydev;
-
-	if (phydev)
-		status->link = !!phydev->link;
+	if (dev && dev->phydev && status)
+		status->link = !!dev->phydev->link;
 
 	return 0;
 }