Skip to content

Commit e6ca8f5

Browse files
Buday Csabakuba-moo
authored andcommitted
net: mdio: fix resource leak in mdiobus_register_device()
Fix a possible leak in mdiobus_register_device() when both a reset-gpio and a reset-controller are present. Clean up the already claimed reset-gpio, when the registration of the reset-controller fails, so when an error code is returned, the device retains its state before the registration attempt. Link: https://lore.kernel.org/all/20251106144603.39053c81@kernel.org/ Fixes: 71dd6c0 ("net: phy: add support for reset-controller") Signed-off-by: Buday Csaba <buday.csaba@prolan.hu> Link: https://patch.msgid.link/4b419377f8dd7d2f63f919d0f74a336c734f8fff.1762584481.git.buday.csaba@prolan.hu Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1 parent 0725e6a commit e6ca8f5

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

drivers/net/phy/mdio_bus.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,11 @@ int mdiobus_register_device(struct mdio_device *mdiodev)
7373
return err;
7474

7575
err = mdiobus_register_reset(mdiodev);
76-
if (err)
76+
if (err) {
77+
gpiod_put(mdiodev->reset_gpio);
78+
mdiodev->reset_gpio = NULL;
7779
return err;
80+
}
7881

7982
/* Assert the reset signal */
8083
mdio_device_reset(mdiodev, 1);

0 commit comments

Comments
 (0)