Commit 867ae8a7 authored by Florian Fainelli's avatar Florian Fainelli Committed by David S. Miller

net: mdio: Replaced BUG_ON() with WARN()

Killing the kernel because a certain MDIO bus object is not in the
desired state at various points in the registration or unregistration
paths is excessive and is not helping in troubleshooting or fixing
issues. Replace the BUG_ON() with WARN() and print out the MDIO bus name
to facilitate debugging.
Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 432b4941
...@@ -176,9 +176,11 @@ static void mdiobus_release(struct device *d) ...@@ -176,9 +176,11 @@ static void mdiobus_release(struct device *d)
{ {
struct mii_bus *bus = to_mii_bus(d); struct mii_bus *bus = to_mii_bus(d);
BUG_ON(bus->state != MDIOBUS_RELEASED && WARN(bus->state != MDIOBUS_RELEASED &&
/* for compatibility with error handling in drivers */ /* for compatibility with error handling in drivers */
bus->state != MDIOBUS_ALLOCATED); bus->state != MDIOBUS_ALLOCATED,
"%s: not in RELEASED or ALLOCATED state\n",
bus->id);
kfree(bus); kfree(bus);
} }
...@@ -529,8 +531,9 @@ int __mdiobus_register(struct mii_bus *bus, struct module *owner) ...@@ -529,8 +531,9 @@ int __mdiobus_register(struct mii_bus *bus, struct module *owner)
bus->parent->of_node->fwnode.flags |= bus->parent->of_node->fwnode.flags |=
FWNODE_FLAG_NEEDS_CHILD_BOUND_ON_ADD; FWNODE_FLAG_NEEDS_CHILD_BOUND_ON_ADD;
BUG_ON(bus->state != MDIOBUS_ALLOCATED && WARN(bus->state != MDIOBUS_ALLOCATED &&
bus->state != MDIOBUS_UNREGISTERED); bus->state != MDIOBUS_UNREGISTERED,
"%s: not in ALLOCATED or UNREGISTERED state\n", bus->id);
bus->owner = owner; bus->owner = owner;
bus->dev.parent = bus->parent; bus->dev.parent = bus->parent;
...@@ -658,7 +661,8 @@ void mdiobus_free(struct mii_bus *bus) ...@@ -658,7 +661,8 @@ void mdiobus_free(struct mii_bus *bus)
return; return;
} }
BUG_ON(bus->state != MDIOBUS_UNREGISTERED); WARN(bus->state != MDIOBUS_UNREGISTERED,
"%s: not in UNREGISTERED state\n", bus->id);
bus->state = MDIOBUS_RELEASED; bus->state = MDIOBUS_RELEASED;
put_device(&bus->dev); put_device(&bus->dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment