]> www.infradead.org Git - users/hch/configfs.git/commit
net: pse-pd: Fix enabled status mismatch
authorKory Maincent <kory.maincent@bootlin.com>
Wed, 2 Oct 2024 12:17:05 +0000 (14:17 +0200)
committerJakub Kicinski <kuba@kernel.org>
Fri, 4 Oct 2024 20:14:18 +0000 (13:14 -0700)
commitdda3529d2e84e2ee7b97158c9cdf5e10308f37bc
tree1a3870a56f742245f917929e5e669128ede292ab
parent9f49d14ec41ce7be647028d7d34dea727af55272
net: pse-pd: Fix enabled status mismatch

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@bootlin.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20241002121706.246143-1-kory.maincent@bootlin.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/pse-pd/pse_core.c