From: David Decotigny <decot@google.com>
To: Ben Hutchings <bhutchings@solarflare.com>
Cc: "David S. Miller" <davem@davemloft.net>,
mirq-linux@rere.qmqm.pl, Stanislaw Gruszka <sgruszka@redhat.com>,
Alexander Duyck <alexander.h.duyck@intel.com>,
Eilon Greenstein <eilong@broadcom.com>,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [PATCHv2 3/4] ethtool: Use the full 32 bit speed range in ethtool's set_settings
Date: Wed, 27 Apr 2011 15:05:09 -0700 [thread overview]
Message-ID: <4DB89315.6070105@google.com> (raw)
In-Reply-To: <1303932477.2875.130.camel@bwh-desktop>
Hi,
On 04/27/11 12:27, Ben Hutchings wrote:
>> diff --git a/drivers/net/tulip/de2104x.c b/drivers/net/tulip/de2104x.c
>> index b13c6b0..f8d26bf 100644
>> --- a/drivers/net/tulip/de2104x.c
>> +++ b/drivers/net/tulip/de2104x.c
>> @@ -1549,10 +1549,11 @@ static int __de_set_settings(struct de_private *de, struct ethtool_cmd *ecmd)
>> {
>> u32 new_media;
>> unsigned int media_lock;
>> + u32 speed = ethtool_cmd_speed(ecmd);
>>
>> - if (ecmd->speed != SPEED_10 && ecmd->speed != 5 && ecmd->speed != 2)
>> + if (speed != SPEED_10 && speed != 5 && speed != 2)
>> return -EINVAL;
>> - if (de->de21040 && ecmd->speed == 2)
>> + if (de->de21040 && speed == 2)
>> return -EINVAL;
>> if (ecmd->duplex != DUPLEX_HALF && ecmd->duplex != DUPLEX_FULL)
>> return -EINVAL;
> [...]
>
> This implementation is absolute crap - it's using speed values as
> mnemonics for different physical ports! Please change it to report and
> accept only speed = 10. (Both get_settings and set_settings have to be
> changed at the same time.)
Well, I am really not sure about this. At first I thought you meant that
these non standard throughputs were a weird way to switch between
different ports because of some limitation in the ethtool API at the
time the driver was written. But looking at the history, this behavior
is there right from the very first revision of the driver checked in in
v2.5.0.9
(http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commit;h=b1507c9acd944c8703612c0e38ac580bf9064e8a),
and the ports could be switched the normal way with ecmd->port. So this
leads me to think that these speeds are actual speeds and make sense as
such, they are not a work-around over some ancient ethtool API
limitation. I have the patch ready but I would appreciate any feedback
on this.
Anyway, all your comments are really pertinent and ready to be sent.
Thank you!
Regards,
next prev parent reply other threads:[~2011-04-27 22:05 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-17 0:54 [PATCH 1/5] ethtool: cosmetics: enforce const-ness in ethtool_cmd_speed David Decotigny
2011-04-17 0:54 ` [PATCH 2/5] bnx2x: cosmetics: Using ethtool_cmd_speed() API David Decotigny
2011-04-17 0:54 ` [PATCH 3/5] ethtool: Call ethtool's get/set_settings callbacks with cleaned data David Decotigny
2011-04-17 0:54 ` [PATCH 4/5] ethtool: Use the full 32 bit speed range in ethtool's set_settings David Decotigny
2011-04-17 2:02 ` Ben Hutchings
2011-04-17 0:54 ` [PATCH 5/5] ethtool: cosmetic: Use the ethtool speed_cmd_speed API David Decotigny
[not found] ` <1303001651-4074-3-git-send-email-decot@google.com>
2011-04-17 1:53 ` [PATCH 3/5] ethtool: Call ethtool's get/set_settings callbacks with cleaned data Ben Hutchings
2011-04-17 2:06 ` [PATCH 1/5] ethtool: cosmetics: enforce const-ness in ethtool_cmd_speed Ben Hutchings
2011-04-27 18:34 ` [PATCHv2 0/4] ethtool: generalize use of ethtool_cmd_speed API David Decotigny
2011-04-27 18:34 ` [PATCHv2 1/4] ethtool: cosmetics: enforce const-ness in ethtool_cmd_speed David Decotigny
2011-04-27 18:34 ` [PATCHv2 2/4] ethtool: Call ethtool's get/set_settings callbacks with cleaned data David Decotigny
2011-04-27 18:34 ` [PATCHv2 3/4] ethtool: Use the full 32 bit speed range in ethtool's set_settings David Decotigny
2011-04-27 19:27 ` Ben Hutchings
2011-04-27 22:05 ` David Decotigny [this message]
2011-04-27 23:10 ` Ben Hutchings
2011-04-27 22:23 ` Stephen Hemminger
2011-04-27 18:34 ` [PATCHv2 4/4] ethtool: cosmetic: Use ethtool ethtool_cmd_speed API David Decotigny
2011-04-27 18:34 ` [PATCHv2] acenic: Fix using the specified speed when configuring NIC David Decotigny
[not found] ` <1303929290-21037-2-git-send-email-decot@google.com>
2011-04-27 18:41 ` [PATCHv2 1/4] ethtool: cosmetics: enforce const-ness in ethtool_cmd_speed Ben Hutchings
[not found] ` <1303929290-21037-3-git-send-email-decot@google.com>
2011-04-27 18:53 ` [PATCHv2 2/4] ethtool: Call ethtool's get/set_settings callbacks with cleaned data Ben Hutchings
[not found] ` <1303929290-21037-5-git-send-email-decot@google.com>
2011-04-27 19:43 ` [PATCHv2 4/4] ethtool: cosmetic: Use ethtool ethtool_cmd_speed API Ben Hutchings
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=4DB89315.6070105@google.com \
--to=decot@google.com \
--cc=alexander.h.duyck@intel.com \
--cc=bhutchings@solarflare.com \
--cc=davem@davemloft.net \
--cc=david@decotigny.fr \
--cc=eilong@broadcom.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mirq-linux@rere.qmqm.pl \
--cc=netdev@vger.kernel.org \
--cc=sgruszka@redhat.com \
/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).