From: Uwe Zeisberger The phy ids used are taken from an driver that used a right shift of 4 to chop off the revision number. This driver does not shift, so the id and mask values are wrong and must be left shifted by 4 to actually detect the chips. Signed-off-by: Uwe Zeisberger Acked-by: Andy Fleming Signed-off-by: Andrew Morton --- drivers/net/phy/lxt.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff -puN drivers/net/phy/lxt.c~fix-phy-id-for-lxt971a-lxt972a drivers/net/phy/lxt.c --- 25/drivers/net/phy/lxt.c~fix-phy-id-for-lxt971a-lxt972a Mon May 15 14:37:53 2006 +++ 25-akpm/drivers/net/phy/lxt.c Mon May 15 14:37:53 2006 @@ -123,9 +123,9 @@ static int lxt971_config_intr(struct phy } static struct phy_driver lxt970_driver = { - .phy_id = 0x07810000, + .phy_id = 0x78100000, .name = "LXT970", - .phy_id_mask = 0x0fffffff, + .phy_id_mask = 0xfffffff0, .features = PHY_BASIC_FEATURES, .flags = PHY_HAS_INTERRUPT, .config_init = lxt970_config_init, @@ -137,9 +137,9 @@ static struct phy_driver lxt970_driver = }; static struct phy_driver lxt971_driver = { - .phy_id = 0x0001378e, + .phy_id = 0x001378e0, .name = "LXT971", - .phy_id_mask = 0x0fffffff, + .phy_id_mask = 0xfffffff0, .features = PHY_BASIC_FEATURES, .flags = PHY_HAS_INTERRUPT, .config_aneg = genphy_config_aneg, _