summaryrefslogtreecommitdiffstats
path: root/drivers/net/phy/mdio_bus.c
diff options
context:
space:
mode:
authorHerbert Valerio Riedel2006-05-10 18:12:57 +0200
committerStephen Hemminger2006-05-10 23:03:57 +0200
commit64b1c2b42b555ef38c475d104f2faf3f6f93690d (patch)
tree88eb14c289e9717f1f606a401079b4688ae44ba9 /drivers/net/phy/mdio_bus.c
parentsky2: ifdown kills irq mask (diff)
downloadkernel-qcow2-linux-64b1c2b42b555ef38c475d104f2faf3f6f93690d.tar.gz
kernel-qcow2-linux-64b1c2b42b555ef38c475d104f2faf3f6f93690d.tar.xz
kernel-qcow2-linux-64b1c2b42b555ef38c475d104f2faf3f6f93690d.zip
phy: mdiobus_register(): initialize all phy_map entries
make sure phy_map entries whose PHY address is masked are initialized to NULL, given that other code (such as mdiobus_unregister for instance) assumes that non-NULL phy_map entries are allocated phy_devices Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org> Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Diffstat (limited to 'drivers/net/phy/mdio_bus.c')
-rw-r--r--drivers/net/phy/mdio_bus.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
index 459443b572ce..1b236bdf6b92 100644
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
@@ -60,8 +60,10 @@ int mdiobus_register(struct mii_bus *bus)
for (i = 0; i < PHY_MAX_ADDR; i++) {
struct phy_device *phydev;
- if (bus->phy_mask & (1 << i))
+ if (bus->phy_mask & (1 << i)) {
+ bus->phy_map[i] = NULL;
continue;
+ }
phydev = get_phy_device(bus, i);