netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Hemminger <shemminger@linux-foundation.org>
To: "Michał Mirosław" <mirq-linux@rere.qmqm.pl>
Cc: netdev@vger.kernel.org
Subject: Re: [PATCH] net: sky2: convert to hw_features
Date: Mon, 11 Apr 2011 07:58:29 -0700	[thread overview]
Message-ID: <20110411075829.7b9bf1e5@nehalam> (raw)
In-Reply-To: <20110411005100.GA22103@rere.qmqm.pl>

On Mon, 11 Apr 2011 02:51:00 +0200
Michał Mirosław <mirq-linux@rere.qmqm.pl> wrote:

> On Sun, Apr 10, 2011 at 11:53:02AM -0700, Stephen Hemminger wrote:
> > On Sun, 10 Apr 2011 15:13:21 +0200 (CEST)
> > Michał Mirosław <mirq-linux@rere.qmqm.pl> wrote:
> > > Caveats:
> > >  - driver modifies vlan_features on HW VLAN TX changes
> > >  - broken RX checksum will be reenabled on features change
> > To be more precise. This is acceptable if and only if all cases
> > where features are disabled in response to MTU and chip versions
> > are exactly the same. We don't want to let some user stumble upon
> > cases where hardware features don't work in their configuration.
> 
> I was referring to the unlikely case detected by sky2_rx_checksum().
> Before this conversion, user could reenable the feature using ethtool.
> The change is that now, in this case, it's reenabled also when other
> features are changed (i.e. whenever netdev_update_features() gets called).
> 
> Best Regards,
> Michał Mirosław

Ok.

It does expose a pre-existing issue. If this logic trips (and I have
gotten reports of it happening), then the GRO will not get disabled.
Probably need to mask of GRO as well, since GRO depends on RXCSUM.

--- a/drivers/net/sky2.c	2011-04-11 07:56:50.569361209 -0700
+++ b/drivers/net/sky2.c	2011-04-11 07:57:34.502312648 -0700
@@ -2538,7 +2538,7 @@ static void sky2_rx_checksum(struct sky2
 		 * It will be reenabled on next ndo_set_features, but if it's
 		 * really broken, will get disabled again
 		 */
-		sky2->netdev->features &= ~NETIF_F_RXCSUM;
+		sky2->netdev->features &= ~(NETIF_F_RXCSUM | NETIF_F_GRO);
 		sky2_write32(sky2->hw, Q_ADDR(rxqaddr[sky2->port], Q_CSR),
 			     BMU_DIS_RX_CHKSUM);
 	}

  reply	other threads:[~2011-04-11 14:59 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-10 13:13 [PATCH] net: sky2: convert to hw_features Michał Mirosław
2011-04-10 18:49 ` Stephen Hemminger
2011-04-10 18:53 ` Stephen Hemminger
2011-04-11  0:51   ` Michał Mirosław
2011-04-11 14:58     ` Stephen Hemminger [this message]
2011-04-11 17:58       ` Michał Mirosław
2011-04-11 18:09         ` Stephen Hemminger
2011-04-11 15:00     ` Stephen Hemminger
2011-04-10 20:50 ` Stephen Hemminger
2011-04-10 20:58   ` David Miller
2011-04-12 21:51 ` 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=20110411075829.7b9bf1e5@nehalam \
    --to=shemminger@linux-foundation.org \
    --cc=mirq-linux@rere.qmqm.pl \
    --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).