Re: [PATCH 1/3] bnx2x: remove TPA_ENABLE_FLAG
From: Michał Mirosław <hidden>
Date: 2011-08-31 18:05:41
2011/8/31 Vladislav Zolotarov [off-list ref]:
quoted
-----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:quoted
On Wednesday 31 August 2011 18:00:34 Michal Schmidt wrote:quoted
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.
If bnx2x_reload_if_running() failure means that NIC is disabled, then Michal is right that there's no point in caring about dev->features, sice 'load' operation (NIC configuration) needs to be done again anyway. Best Regards, Michał Mirosław