diff -urN -X exclude linux.orig/drivers/net/phy/phy_device.c linux/drivers/net/phy/phy_device.c --- linux.orig/drivers/net/phy/phy_device.c 2008-11-11 17:52:13.000000000 +0100 +++ linux/drivers/net/phy/phy_device.c 2008-11-12 19:20:47.000000000 +0100 @@ -227,8 +227,8 @@ if (r) return ERR_PTR(r); - /* If the phy_id is all Fs, there is no device there */ - if (0xffffffff == phy_id) + /* If the phy_id is all Fs or all 0s, there is no device there */ + if ((0xffff == phy_id) || (0x00 == phy_id)) return NULL; dev = phy_device_create(bus, addr, phy_id);