phy: Fix phy_id for Vitesse 824x PHY

The phy_id specified for the Vitesse 824x PHY would never match because
it was expecting bits to be set that would be masked by the phy_id_mask.
Fix the phy_id so it will match properly, and changed the mdio_bus_match
to mask both the driver and devices phy_id with the mask so we dont have
this issue in the future.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>

+3 -2
+2 -1
drivers/net/phy/mdio_bus.c
··· 131 131 struct phy_device *phydev = to_phy_device(dev); 132 132 struct phy_driver *phydrv = to_phy_driver(drv); 133 133 134 - return (phydrv->phy_id == (phydev->phy_id & phydrv->phy_id_mask)); 134 + return ((phydrv->phy_id & phydrv->phy_id_mask) == 135 + (phydev->phy_id & phydrv->phy_id_mask)); 135 136 } 136 137 137 138 /* Suspend and resume. Copied from platform_suspend and
+1 -1
drivers/net/phy/vitesse.c
··· 84 84 85 85 /* Vitesse 824x */ 86 86 static struct phy_driver vsc8244_driver = { 87 - .phy_id = 0x000fc6c2, 87 + .phy_id = 0x000fc6c0, 88 88 .name = "Vitesse VSC8244", 89 89 .phy_id_mask = 0x000fffc0, 90 90 .features = PHY_GBIT_FEATURES,