optimus wan flapping: disable config_init() for switch query
* when using Fds() in cwmpd, qualcomm_switch ssdk sends commands
via SIOCSMIIREG. Normally, a BMCR_RESET bit means
reset the PHY, but this is really the "fake" phy (port == 16),
and sometimes data has 0x8000 bit set.
* b/13682988
Change-Id: I0d06253a35091835eda82f6740bc27f7ae4ddc71
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index 3cbda08..dc62d04 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -359,6 +359,12 @@
if (mii_data->reg_num == MII_BMCR &&
val & BMCR_RESET &&
phydev->drv->config_init) {
+#ifdef CONFIG_GOOGLE_FIBER_OPTIMUS
+ if (mii_data->phy_id >= 16) {
+ printk(KERN_WARNING "phy_mii_ioctl: skipping config_init() on optimus\n");
+ break;
+ }
+#endif
phy_scan_fixups(phydev);
phydev->drv->config_init(phydev);
}