lkml.org 
[lkml]   [2021]   [Jun]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.10 19/39] net: mdiobus: get rid of a BUG_ON()
    Date
    From: Dan Carpenter <dan.carpenter@oracle.com>

    [ Upstream commit 1dde47a66d4fb181830d6fa000e5ea86907b639e ]

    We spotted a bug recently during a review where a driver was
    unregistering a bus that wasn't registered, which would trigger this
    BUG_ON(). Let's handle that situation more gracefully, and just print
    a warning and return.

    Reported-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/phy/mdio_bus.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
    index 757e950fb745..b848439fa837 100644
    --- a/drivers/net/phy/mdio_bus.c
    +++ b/drivers/net/phy/mdio_bus.c
    @@ -608,7 +608,8 @@ void mdiobus_unregister(struct mii_bus *bus)
    struct mdio_device *mdiodev;
    int i;

    - BUG_ON(bus->state != MDIOBUS_REGISTERED);
    + if (WARN_ON_ONCE(bus->state != MDIOBUS_REGISTERED))
    + return;
    bus->state = MDIOBUS_UNREGISTERED;

    for (i = 0; i < PHY_MAX_ADDR; i++) {
    --
    2.30.2
    \
     
     \ /
      Last update: 2021-06-03 19:12    [W:3.662 / U:0.240 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site