TG3_CPMU_PHY_STRAP_IS_SERDES;
if (is_serdes)
tp->phy_addr += 7;
-+ } else if (tg3_flag(tp, IS_SSB_CORE)) {
++ } else if (tg3_flag(tp, IS_SSB_CORE) && tg3_flag(tp, ROBOSWITCH)) {
+ int addr;
+
+ addr = ssb_gige_get_phyaddr(tp->pdev);
tp->phy_flags &= ~TG3_PHYFLG_IS_CONNECTED;
}
}
-@@ -3985,7 +3992,7 @@ static int tg3_power_down_prepare(struct
+@@ -3999,7 +4006,7 @@ static int tg3_power_down_prepare(struct
struct phy_device *phydev;
u32 phyid, advertising;
tp->phy_flags |= TG3_PHYFLG_IS_LOW_POWER;
-@@ -11769,7 +11776,7 @@ static int tg3_get_settings(struct net_d
+@@ -11783,7 +11790,7 @@ static int tg3_get_settings(struct net_d
struct phy_device *phydev;
if (!(tp->phy_flags & TG3_PHYFLG_IS_CONNECTED))
return -EAGAIN;
return phy_ethtool_gset(phydev, cmd);
}
-@@ -11836,7 +11843,7 @@ static int tg3_set_settings(struct net_d
+@@ -11850,7 +11857,7 @@ static int tg3_set_settings(struct net_d
struct phy_device *phydev;
if (!(tp->phy_flags & TG3_PHYFLG_IS_CONNECTED))
return -EAGAIN;
return phy_ethtool_sset(phydev, cmd);
}
-@@ -11993,7 +12000,7 @@ static int tg3_nway_reset(struct net_dev
+@@ -12007,7 +12014,7 @@ static int tg3_nway_reset(struct net_dev
if (tg3_flag(tp, USE_PHYLIB)) {
if (!(tp->phy_flags & TG3_PHYFLG_IS_CONNECTED))
return -EAGAIN;
} else {
u32 bmcr;
-@@ -12109,7 +12116,7 @@ static int tg3_set_pauseparam(struct net
+@@ -12123,7 +12130,7 @@ static int tg3_set_pauseparam(struct net
u32 newadv;
struct phy_device *phydev;
if (!(phydev->supported & SUPPORTED_Pause) ||
(!(phydev->supported & SUPPORTED_Asym_Pause) &&
-@@ -13543,7 +13550,7 @@ static int tg3_ioctl(struct net_device *
+@@ -13557,7 +13564,7 @@ static int tg3_ioctl(struct net_device *
struct phy_device *phydev;
if (!(tp->phy_flags & TG3_PHYFLG_IS_CONNECTED))
return -EAGAIN;
return phy_mii_ioctl(phydev, ifr, cmd);
}
-@@ -17176,8 +17183,10 @@ static int tg3_init_one(struct pci_dev *
+@@ -17190,8 +17197,10 @@ static int tg3_init_one(struct pci_dev *
tg3_flag_set(tp, FLUSH_POSTED_WRITES);
if (ssb_gige_one_dma_at_once(pdev))
tg3_flag_set(tp, ONE_DMA_AT_ONCE);
if (ssb_gige_is_rgmii(pdev))
tg3_flag_set(tp, RGMII_MODE);
}
-@@ -17447,7 +17456,7 @@ static int tg3_init_one(struct pci_dev *
+@@ -17461,7 +17470,7 @@ static int tg3_init_one(struct pci_dev *
if (tp->phy_flags & TG3_PHYFLG_IS_CONNECTED) {
struct phy_device *phydev;