]> www.infradead.org Git - users/hch/misc.git/commitdiff
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 fc9e23927b3b78ab3795e6b2d4bce1ca8e7a1f52..7d60a714ca536175b6c2befa6552f9d746f72d37 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,