Re: [PATCH net] net: pse-pd: Fix enabled status mismatch
From: Andrew Lunn
Date: Wed Oct 02 2024 - 08:38:37 EST
On Wed, Oct 02, 2024 at 02:17:05PM +0200, Kory Maincent wrote:
> PSE controllers like the TPS23881 can forcefully turn off their
> configuration state. In such cases, the is_enabled() and get_status()
> callbacks will report the PSE as disabled, while admin_state_enabled
> will show it as enabled. This mismatch can lead the user to attempt
> to enable it, but no action is taken as admin_state_enabled remains set.
>
> The solution is to disable the PSE before enabling it, ensuring the
> actual status matches admin_state_enabled.
>
> Fixes: d83e13761d5b ("net: pse-pd: Use regulator framework within PSE framework")
> Signed-off-by: Kory Maincent <kory.maincent@xxxxxxxxxxx>
> ---
>
> FYI: Saving the enabled state in the driver is not a viable solution, as a
> reboot may cause a mismatch between the real and software-saved states.
This seems O.K. to me.
I'm assuming the controller has turned the configuration state to off
to stop the magic smoke escaping? Is there any sort of notification of
this? Does it raise an interrupt? Sometime in the future we might
want to add a netlink notification about this?
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Andrew