From: Arun Parameswaran <aparames@broadcom.com>
To: Ben Hutchings <bwh@kernel.org>
Cc: <netdev@vger.kernel.org>, <jdzheng@broadcom.com>,
<aparames@broadcom.com>
Subject: [PATCH 2/2] ethtool: Fix an issue with handling 'phyad' while updating settings
Date: Fri, 22 May 2015 15:43:29 -0700 [thread overview]
Message-ID: <1432334609-3971-3-git-send-email-aparames@broadcom.com> (raw)
In-Reply-To: <1432334609-3971-1-git-send-email-aparames@broadcom.com>
When using the 'ethtool' to set PHY1's settings, the 'ethtool'
seems to do the 'get' settings with incorrect PHY ID and then
apply the new settings on it.
For example when using the command, to change PHY1's speed,
'ethtool -s eth0 phyad 1 speed 100', the 'ethtool' will end up
querying PHY0's settings and then apply the new settings specified
in the command on top of the PHY0's settings. So the PHY1 will
end up with worng settings (partial settings of PHY0 for example).
This patch fixes the issue by specifying the 'phyad' or 'port'
requested in the command to query for the settings, before applying
the new ones.
Signed-off-by: Arun Parameswaran <aparames@broadcom.com>
Reviewed-by: JD (Jiandong) Zheng <jdzheng@broadcom.com>
---
ethtool.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/ethtool.c b/ethtool.c
index 668c189..6c57297 100644
--- a/ethtool.c
+++ b/ethtool.c
@@ -2523,6 +2523,12 @@ static int do_sset(struct cmd_context *ctx)
memset(&ecmd, 0, sizeof(struct ethtool_cmd));
+ if (phyad_wanted != -1)
+ ecmd.phy_address = phyad_wanted;
+
+ if (port_wanted != -1)
+ ecmd.port = port_wanted;
+
ecmd.cmd = ETHTOOL_GSET;
err = send_ioctl(ctx, &ecmd);
if (err < 0) {
--
1.7.9.5
next prev parent reply other threads:[~2015-05-22 22:43 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-22 22:43 [PATCH 0/2] Fix couple of issues with 'ethtool' get/set API's Arun Parameswaran
2015-05-22 22:43 ` [PATCH 1/2] ethtool: Clear the command data structure before sending requests Arun Parameswaran
2015-05-22 22:43 ` Arun Parameswaran [this message]
2015-05-31 19:59 ` [PATCH 0/2] Fix couple of issues with 'ethtool' get/set API's Ben Hutchings
2015-06-01 17:14 ` Arun Parameswaran
2015-06-01 18:07 ` Ben Hutchings
2015-06-01 19:12 ` Arun Parameswaran
2015-06-01 19:29 ` Ben Hutchings
2015-06-01 21:00 ` Arun Parameswaran
2015-06-01 21:39 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1432334609-3971-3-git-send-email-aparames@broadcom.com \
--to=aparames@broadcom.com \
--cc=bwh@kernel.org \
--cc=jdzheng@broadcom.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).