net: pse-pd: pd692x0: Fix power limit retrieval
authorKory Maincent <kory.maincent@bootlin.com>
Mon, 17 Feb 2025 13:48:11 +0000 (14:48 +0100)
committerJakub Kicinski <kuba@kernel.org>
Wed, 19 Feb 2025 02:30:27 +0000 (18:30 -0800)
Fix incorrect data offset read in the pd692x0_pi_get_pw_limit callback.
The issue was previously unnoticed as it was only used by the regulator
API and not thoroughly tested, since the PSE is mainly controlled via
ethtool.

The function became actively used by ethtool after commit 3e9dbfec4998
("net: pse-pd: Split ethtool_get_status into multiple callbacks"),
which led to the discovery of this issue.

Fix it by using the correct data offset.

Fixes: a87e699c9d33 ("net: pse-pd: pd692x0: Enhance with new current limit and voltage read callbacks")
Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Link: https://patch.msgid.link/20250217134812.1925345-1-kory.maincent@bootlin.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/pse-pd/pd692x0.c

index fc9e239..7d60a71 100644 (file)
@@ -1047,7 +1047,7 @@ static int pd692x0_pi_get_pw_limit(struct pse_controller_dev *pcdev,
        if (ret < 0)
                return ret;
 
-       return pd692x0_pi_get_pw_from_table(buf.data[2], buf.data[3]);
+       return pd692x0_pi_get_pw_from_table(buf.data[0], buf.data[1]);
 }
 
 static int pd692x0_pi_set_pw_limit(struct pse_controller_dev *pcdev,