All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
To: davem@davemloft.net
Cc: Alan Brady <alan.brady@intel.com>,
	netdev@vger.kernel.org, nhorman@redhat.com, sassmann@redhat.com,
	jogreene@redhat.com, Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Subject: [net-next 12/15] i40e: fix disabling overflow promiscuous mode
Date: Tue, 20 Jun 2017 18:17:59 -0700	[thread overview]
Message-ID: <20170621011802.81768-13-jeffrey.t.kirsher@intel.com> (raw)
In-Reply-To: <20170621011802.81768-1-jeffrey.t.kirsher@intel.com>

From: Alan Brady <alan.brady@intel.com>

There exists a bug in which the driver does not correctly exit overflow
promiscuous mode.  This can occur if "too many" mac filters are added,
putting the driver into overflow promiscuous mode, and the filters are
then removed.  When the failed filters are removed, the driver reports
exiting overflow promiscuous mode which is correct, however traffic
continues to be received as if in promiscuous mode still.

The bug occurs because the conditional for toggling promiscuous mode was
set to only execute when promiscuous mode was enabled and not when it
was disabled as well.  This patch fixes the conditional to correctly
execute when promiscuous mode is toggled and not just enabled.  Without
this patch, the driver is unable to correctly exit overflow promiscuous
mode.

Signed-off-by: Alan Brady <alan.brady@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_main.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 8af6420826d1..b743eca879d5 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -2281,9 +2281,8 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi)
 				 i40e_aq_str(hw, hw->aq.asq_last_status));
 		}
 	}
-	if ((changed_flags & IFF_PROMISC) ||
-	    (promisc_changed &&
-	     test_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state))) {
+
+	if ((changed_flags & IFF_PROMISC) || promisc_changed) {
 		bool cur_promisc;
 
 		cur_promisc = (!!(vsi->current_netdev_flags & IFF_PROMISC) ||
-- 
2.12.2

  parent reply	other threads:[~2017-06-21  1:18 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-21  1:17 [net-next 00/15][pull request] 40GbE Intel Wired LAN Driver Updates 2017-06-20 Jeff Kirsher
2017-06-21  1:17 ` [net-next 01/15] i40e: add XDP support for pass and drop actions Jeff Kirsher
2017-06-21  1:17 ` [net-next 02/15] i40e: add support for XDP_TX action Jeff Kirsher
2017-06-21  1:17 ` [net-next 03/15] i40evf: assign num_active_queues inside i40evf_alloc_queues Jeff Kirsher
2017-06-21  1:17 ` [net-next 04/15] i40e/i40evf: update WOL and I40E_AQC_ADDR_VALID_MASK flags Jeff Kirsher
2017-06-21  1:17 ` [net-next 05/15] i40e: use dev_dbg instead of dev_info when warning about missing routine Jeff Kirsher
2017-06-21  1:17 ` [net-next 06/15] i40e: comment that udp_port must be in host byte order Jeff Kirsher
2017-06-21  1:17 ` [net-next 07/15] i40e: Fix potential out of bound array access Jeff Kirsher
2017-06-21  1:17 ` [net-next 08/15] i40e: Support firmware CEE DCB UP to TC map re-definition Jeff Kirsher
2017-06-21  1:17 ` [net-next 09/15] i40e: Add message for unsupported MFP mode Jeff Kirsher
2017-06-21  1:17 ` [net-next 10/15] i40e: genericize the partition bandwidth control Jeff Kirsher
2017-06-21  1:17 ` [net-next 11/15] i40e: Add support for OEM firmware version Jeff Kirsher
2017-06-21  1:17 ` Jeff Kirsher [this message]
2017-06-21  1:18 ` [net-next 13/15] i40e: clear only cause_ena bit Jeff Kirsher
2017-06-21  1:18 ` [net-next 14/15] i40e: Handle PE_CRITERR properly with IWARP enabled Jeff Kirsher
2017-06-21  1:18 ` [net-next 15/15] i40e: don't hold RTNL lock for the entire reset Jeff Kirsher
2017-06-21 15:32 ` [net-next 00/15][pull request] 40GbE Intel Wired LAN Driver Updates 2017-06-20 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=20170621011802.81768-13-jeffrey.t.kirsher@intel.com \
    --to=jeffrey.t.kirsher@intel.com \
    --cc=alan.brady@intel.com \
    --cc=davem@davemloft.net \
    --cc=jogreene@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=nhorman@redhat.com \
    --cc=sassmann@redhat.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.