mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
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: 3688ff3077
("net: ethtool: cable-test: Target the command to the requested PHY")
Closes: https://lore.kernel.org/netdev/20240827104825.5cbe0602@fedora-3.home/T/#m6bc49cdcc5cfab0d162516b92916b944a01c833f
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Larysa Zaremba <larysa.zaremba@intel.com>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://patch.msgid.link/20240827092314.2500284-1-maxime.chevallier@bootlin.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
646f071d31
commit
ad78337cb2
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user