On 11/11/2010 10:50 AM, Ian Campbell wrote:
> On Thu, 2010-11-11 at 18:03 +0000, Laszlo Ersek wrote:
>> The following patch, written for xen/next-2.6.32, adds get_drvinfo()
>> ("ethtool -i") support to netfront. If there is no default get_drvinfo() in
>> effect [0], then the patch is intended to remedy the following situation:
>>
>> # ethtool -i eth0
>> Cannot get driver information: Operation not supported
>>
>> like this:
>>
>> # ethtool -i eth0
>> driver: xen-netfront
>> version:
>> firmware-version:
>> bus-info: vif-0
>>
>> If a default get_drvinfo() is in effect (see [0] again), then the fallback
>> works like this:
>>
>> # ethtool -i eth0
>> driver: vif
>> version:
>> firmware-version:
>> bus-info: vif-0
>>
>> and it's more fortunate to return the module name ("driver: xen-netfront")
>> than "driver: vif".
> This is pretty much the same as a patch which I clearly forgot to send a
> pull request for ages ago[0] so:
I remember a review comment which suggested it was unnecessary? Ah, here:
This should already be covered by:
commit 01414802054c382072b6cb9a1bdc6e243c74b2d5
Author: Ben Hutchings <bhutchings@xxxxxxxxxxxxxx>
Date: Tue Aug 17 02:31:15 2010 -0700
ethtool: Provide a default implementation of ethtool_ops::get_drvinfo
Ben.
Maybe I should just cherry-pick that back?
J
> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
>
> My only quibble would be that Linux generally prefers "sizeof(x)" to
> "sizeof x".
>
> Ian.
>
> [0]
> http://xenbits.xen.org/gitweb?p=people/ianc/linux-2.6.git;a=commitdiff;h=9a0429ca56f56d415a8b34a92dfa4e8737baf348
>
>> Thanks for considering,
>> Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
>>
>> [0]
>> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=01414802054c382072b6cb9a1bdc6e243c74b2d5#patch17
>>
>> ---
>> drivers/net/xen-netfront.c | 9 +++++++++
>> 1 files changed, 9 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
>> index 3f71199..64ee838 100644
>> --- a/drivers/net/xen-netfront.c
>> +++ b/drivers/net/xen-netfront.c
>> @@ -1768,8 +1768,17 @@ static int xennet_set_coalesce(struct net_device
>> *netdev,
>> return 0;
>> }
>>
>> +static void xennet_get_drvinfo(struct net_device *dev,
>> + struct ethtool_drvinfo *info)
>> +{
>> + strcpy(info->driver, "xen-netfront");
>> + strlcpy(info->bus_info, dev_name(dev->dev.parent),
>> + sizeof info->bus_info);
>> +}
>> +
>> static const struct ethtool_ops xennet_ethtool_ops =
>> {
>> + .get_drvinfo = xennet_get_drvinfo,
>> .set_tx_csum = ethtool_op_set_tx_csum,
>> .set_sg = xennet_set_sg,
>> .set_tso = xennet_set_tso,
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>> http://lists.xensource.com/xen-devel
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|