Patchwork net: Fix dev dev_ethtool_get_rx_csum() for forced NETIF_F_RXCSUM

login
register
mail settings
Submitter Michał Mirosław
Date March 31, 2011, 9:58 a.m.
Message ID <f658c6e20dad946b50fda008c120a0347ad58314.1301565174.git.mirq-linux@rere.qmqm.pl>
Download mbox | patch
Permalink /patch/89055/
State Accepted
Delegated to: David Miller
Headers show

Comments

Michał Mirosław - March 31, 2011, 9:58 a.m.
dev_ethtool_get_rx_csum() won't report rx checksumming when it's not
changeable and driver is converted to hw_features and friends. Fix this.

(dev->hw_features & NETIF_F_RXCSUM) check is dropped - if the
ethtool_ops->get_rx_csum is set, then driver is not coverted, yet.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
[this is a fix also for 2.6.39]

 include/linux/netdevice.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
David Miller - April 2, 2011, 3:23 a.m.
From: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Date: Thu, 31 Mar 2011 11:58:08 +0200 (CEST)

> dev_ethtool_get_rx_csum() won't report rx checksumming when it's not
> changeable and driver is converted to hw_features and friends. Fix this.
> 
> (dev->hw_features & NETIF_F_RXCSUM) check is dropped - if the
> ethtool_ops->get_rx_csum is set, then driver is not coverted, yet.
> 
> Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>

Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Michał Mirosław - April 4, 2011, 2:14 p.m.
On Fri, Apr 01, 2011 at 08:23:35PM -0700, David Miller wrote:
> From: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> Date: Thu, 31 Mar 2011 11:58:08 +0200 (CEST)
> > dev_ethtool_get_rx_csum() won't report rx checksumming when it's not
> > changeable and driver is converted to hw_features and friends. Fix this.
> > 
> > (dev->hw_features & NETIF_F_RXCSUM) check is dropped - if the
> > ethtool_ops->get_rx_csum is set, then driver is not coverted, yet.
> > 
> > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> Applied, thanks.

I noticed this didn't get into your net-next tree (it's only in net).
This impacts the hw_features conversions that are in net-next.

BTW, what's the policy for this kind of patches? I send them relative
to net-next normally and note if this is also for -rc/stable - is this
The Good Way(tm)?

Best Regards,
Michał Mirosław
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ben Hutchings - April 4, 2011, 2:54 p.m.
On Mon, 2011-04-04 at 16:14 +0200, Michał Mirosław wrote:
> On Fri, Apr 01, 2011 at 08:23:35PM -0700, David Miller wrote:
> > From: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> > Date: Thu, 31 Mar 2011 11:58:08 +0200 (CEST)
> > > dev_ethtool_get_rx_csum() won't report rx checksumming when it's not
> > > changeable and driver is converted to hw_features and friends. Fix this.
> > > 
> > > (dev->hw_features & NETIF_F_RXCSUM) check is dropped - if the
> > > ethtool_ops->get_rx_csum is set, then driver is not coverted, yet.
> > > 
> > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> > Applied, thanks.
> 
> I noticed this didn't get into your net-next tree (it's only in net).
> This impacts the hw_features conversions that are in net-next.
> 
> BTW, what's the policy for this kind of patches? I send them relative
> to net-next normally and note if this is also for -rc/stable - is this
> The Good Way(tm)?

If you want a change to be included in the upcoming release, it must be
applied initially to net-2.6; therefore it must be based on net-2.6.

David will periodically merge net-2.6 into net-next-2.6.  You can
probably do a test merge yourself if you want to see what the result
will be.

Ben.
David Miller - April 4, 2011, 6:07 p.m.
From: Ben Hutchings <bhutchings@solarflare.com>
Date: Mon, 04 Apr 2011 15:54:40 +0100

> On Mon, 2011-04-04 at 16:14 +0200, Michał Mirosław wrote:
>> On Fri, Apr 01, 2011 at 08:23:35PM -0700, David Miller wrote:
>> > From: Michał Mirosław <mirq-linux@rere.qmqm.pl>
>> > Date: Thu, 31 Mar 2011 11:58:08 +0200 (CEST)
>> > > dev_ethtool_get_rx_csum() won't report rx checksumming when it's not
>> > > changeable and driver is converted to hw_features and friends. Fix this.
>> > > 
>> > > (dev->hw_features & NETIF_F_RXCSUM) check is dropped - if the
>> > > ethtool_ops->get_rx_csum is set, then driver is not coverted, yet.
>> > > 
>> > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
>> > Applied, thanks.
>> 
>> I noticed this didn't get into your net-next tree (it's only in net).
>> This impacts the hw_features conversions that are in net-next.
>> 
>> BTW, what's the policy for this kind of patches? I send them relative
>> to net-next normally and note if this is also for -rc/stable - is this
>> The Good Way(tm)?
> 
> If you want a change to be included in the upcoming release, it must be
> applied initially to net-2.6; therefore it must be based on net-2.6.
> 
> David will periodically merge net-2.6 into net-next-2.6.  You can
> probably do a test merge yourself if you want to see what the result
> will be.

I've just merged net-2.6 into net-next-2.6, so anything which exists in
net-2.6 will show up in net-next-2.6 now too.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 5eeb2cd..0249fe7 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -2598,8 +2598,8 @@  static inline int dev_ethtool_get_settings(struct net_device *dev,
 
 static inline u32 dev_ethtool_get_rx_csum(struct net_device *dev)
 {
-	if (dev->hw_features & NETIF_F_RXCSUM)
-		return !!(dev->features & NETIF_F_RXCSUM);
+	if (dev->features & NETIF_F_RXCSUM)
+		return 1;
 	if (!dev->ethtool_ops || !dev->ethtool_ops->get_rx_csum)
 		return 0;
 	return dev->ethtool_ops->get_rx_csum(dev);