Thread (12 messages) 12 messages, 3 authors, 2011-09-01

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help