RE: [PATCH 1/3] bnx2x: remove TPA_ENABLE_FLAG

Vladislav Zolotarov
2011-08-31T16:13:57Z

> -----Original Message-----
> From: Michal Schmidt [mailto:mschmidt@redhat.com]
> Sent: Wednesday, August 31, 2011 6:59 PM
> To: Vladislav Zolotarov
> Cc: netdev@vger.kernel.org; Dmitry Kravkov; Eilon Greenstein;
> mirqus@gmail.com
> Subject: Re: [PATCH 1/3] bnx2x: remove TPA_ENABLE_FLAG
>
> On Wed, 31 Aug 2011 18:16:30 +0300 Vlad Zolotarov wrote:
> > On Wednesday 31 August 2011 18:00:34 Michal Schmidt wrote:
> > > if (bnx2x_reload) {
> > > - if (bp->recovery_state == BNX2X_RECOVERY_DONE)
> > > + if (bp->recovery_state == BNX2X_RECOVERY_DONE) {
> > > + /*
> > > + * Cheat! Normally dev->features will be
> > > set after we
> > > + * return, but that's too late. We need to
> > > know how to
> > > + * configure the NIC when reloading it, so
> > > update
> > > + * the features early.
> > > + */
> > > + dev->features = features;
> > > return bnx2x_reload_if_running(dev);
> >
> > NACK
> >
> > This is bogus - what if bnx2x_reload_if_running(dev)
> > (bnx2x_nic_load()) failes? The original dev->features would be
> > lost...
>
> Well, yes, but since the NIC would be now not working, do we really
> care about its features? :-)

U r kidding, right? ;)
We care about the consistency in the netdev features state - if we failed
to configure the requested feature and returned an error on e.g. "ethtool -K ethX lro on"
call, it's expected that a subsequent ethtool -k ethX call won't report the requested
feature (LRO) as set.

Thanks,
vlad

>
> Michal