aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxime Chevallier <[email protected]>2024-08-27 11:23:13 +0200
committerJakub Kicinski <[email protected]>2024-08-28 17:18:53 -0700
commitad78337cb20c1a52781a7b329b1a747d91be3491 (patch)
treeb94c750fdbc83b70547c328085cc941b89a4012a
parent646f071d315b75e87583de290d333478d42ccde1 (diff)
net: ethtool: cable-test: Release RTNL when the PHY isn't found
Use the correct logic to check for the presence of a PHY device, and jump to a label that correctly releases RTNL in case of an error, as we are holding RTNL at that point. Fixes: 3688ff3077d3 ("net: ethtool: cable-test: Target the command to the requested PHY") Closes: https://lore.kernel.org/netdev/[email protected]/T/#m6bc49cdcc5cfab0d162516b92916b944a01c833f Signed-off-by: Maxime Chevallier <[email protected]> Reported-by: Dan Carpenter <[email protected]> Reviewed-by: Larysa Zaremba <[email protected]> Reviewed-by: Florian Fainelli <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
-rw-r--r--net/ethtool/cabletest.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ethtool/cabletest.c b/net/ethtool/cabletest.c
index 3a91b65c1f9a..f22051f33868 100644
--- a/net/ethtool/cabletest.c
+++ b/net/ethtool/cabletest.c
@@ -342,9 +342,9 @@ int ethnl_act_cable_test_tdr(struct sk_buff *skb, struct genl_info *info)
phydev = ethnl_req_get_phydev(&req_info,
tb[ETHTOOL_A_CABLE_TEST_TDR_HEADER],
info->extack);
- if (!IS_ERR_OR_NULL(phydev)) {
+ if (IS_ERR_OR_NULL(phydev)) {
ret = -EOPNOTSUPP;
- goto out_dev_put;
+ goto out_rtnl;
}
ops = ethtool_phy_ops;