Re: [PATCH net-next 4/4] net: pse-pd: realtek-pse-mcu: avoid global disable on teardown

From: Kory Maincent

Date: Wed Nov 04 2026 - 04:46:03 EST




On 11/3/26 23:03, Jonas Jelonek wrote:
The driver installs a global-disable cleanup action when it enables a
previously disabled MCU. Consequently, driver teardown stops all ports
only when the MCU was disabled at probe, making the behavior depend on
the initial firmware state.

Leave the MCU globally enabled on teardown so an independently powered
controller can continue autonomous delivery. This also allows persistent
supply constraints to keep the rail powered without an explicit global
disable command stopping the ports.

No SoB?

Also this patch is not related to power management. Please send it standalone.
IMHO this should de send as a fix because we don't want to have a remove behavior change according to the Linux version.
With all this change you can add my Reviewed-by.

---
drivers/net/pse-pd/realtek-pse-mcu-core.c | 13 -------------
1 file changed, 13 deletions(-)

diff --git a/drivers/net/pse-pd/realtek-pse-mcu-core.c b/drivers/net/pse-pd/realtek-pse-mcu-core.c
index a90e19fb90e0..ab57c348436c 100644
--- a/drivers/net/pse-pd/realtek-pse-mcu-core.c
+++ b/drivers/net/pse-pd/realtek-pse-mcu-core.c
@@ -894,13 +894,6 @@ static void rtpse_mcu_cleanup_vmain(void *data)
regulator_disable(pse->vmain);
}
-static void rtpse_mcu_global_disable(void *data)
-{
- struct rtpse_mcu_ctrl *pse = data;
-
- rtpse_mcu_set_global_state(pse, false);
-}
-
int rtpse_mcu_register(struct rtpse_mcu_ctrl *pse)
{
const struct rtpse_mcu_match_data *match;
@@ -994,12 +987,6 @@ int rtpse_mcu_register(struct rtpse_mcu_ctrl *pse)
if (ret && ret != -EOPNOTSUPP)
return dev_err_probe(pse->dev, ret,
"failed to enable PSE system\n");
- if (!ret) {
- ret = devm_add_action_or_reset(pse->dev,
- rtpse_mcu_global_disable, pse);
- if (ret)
- return ret;
- }
}
/*

--
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com