netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [UPDATED PATCH] ixgbe: fix vlan filtering
@ 2008-08-27  1:30 Jeff Kirsher
  2008-08-27  2:12 ` Andrew Morton
  2008-08-27  9:18 ` Jeff Garzik
  0 siblings, 2 replies; 4+ messages in thread
From: Jeff Kirsher @ 2008-08-27  1:30 UTC (permalink / raw)
  To: jeff
  Cc: netdev, akpm, davem, stable, Alexander Duyck, Jesse Brandeburg,
	Jeff Kirsher

From: Alexander Duyck <alexander.h.duyck@intel.com>

VLAN filtering is broken, due to reading the incorrect register for the VLAN filtering settings.  Fixed by reading/writing the correct register.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---

 drivers/net/ixgbe/ixgbe_main.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index 34bca16..53f41b6 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -1636,16 +1636,17 @@ static void ixgbe_set_multi(struct net_device *netdev)
 	struct ixgbe_hw *hw = &adapter->hw;
 	struct dev_mc_list *mc_ptr;
 	u8 *mta_list;
-	u32 fctrl;
+	u32 fctrl, vlnctrl;
 	int i;
 
 	/* Check for Promiscuous and All Multicast modes */
 
 	fctrl = IXGBE_READ_REG(hw, IXGBE_FCTRL);
+	vlnctrl = IXGBE_READ_REG(hw, IXGBE_VLNCTRL);
 
 	if (netdev->flags & IFF_PROMISC) {
 		fctrl |= (IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE);
-		fctrl &= ~IXGBE_VLNCTRL_VFE;
+		vlnctrl &= ~IXGBE_VLNCTRL_VFE;
 	} else {
 		if (netdev->flags & IFF_ALLMULTI) {
 			fctrl |= IXGBE_FCTRL_MPE;
@@ -1653,10 +1654,11 @@ static void ixgbe_set_multi(struct net_device *netdev)
 		} else {
 			fctrl &= ~(IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE);
 		}
-		fctrl |= IXGBE_VLNCTRL_VFE;
+		vlnctrl |= IXGBE_VLNCTRL_VFE;
 	}
 
 	IXGBE_WRITE_REG(hw, IXGBE_FCTRL, fctrl);
+	IXGBE_WRITE_REG(hw, IXGBE_VLNCTRL, vlnctrl);
 
 	if (netdev->mc_count) {
 		mta_list = kcalloc(netdev->mc_count, ETH_ALEN, GFP_ATOMIC);


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [UPDATED PATCH] ixgbe: fix vlan filtering
  2008-08-27  1:30 [UPDATED PATCH] ixgbe: fix vlan filtering Jeff Kirsher
@ 2008-08-27  2:12 ` Andrew Morton
  2008-08-27  3:21   ` Alexander Duyck
  2008-08-27  9:18 ` Jeff Garzik
  1 sibling, 1 reply; 4+ messages in thread
From: Andrew Morton @ 2008-08-27  2:12 UTC (permalink / raw)
  To: Jeff Kirsher
  Cc: jeff, netdev, davem, stable, Alexander Duyck, Jesse Brandeburg

On Tue, 26 Aug 2008 18:30:04 -0700 Jeff Kirsher <jeffrey.t.kirsher@intel.com> wrote:

> From: Alexander Duyck <alexander.h.duyck@intel.com>
> 
> VLAN filtering is broken, due to reading the incorrect register for the VLAN filtering settings.  Fixed by reading/writing the correct register.
> 
> Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>

Please note that this patch does not successfully apply to 2.6.25 nor
to 2.6.26.  I didn't check why.

The -stable maintainers might appreciate separate checked-and-tested
backports for those kernels.

Thanks.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [UPDATED PATCH] ixgbe: fix vlan filtering
  2008-08-27  2:12 ` Andrew Morton
@ 2008-08-27  3:21   ` Alexander Duyck
  0 siblings, 0 replies; 4+ messages in thread
From: Alexander Duyck @ 2008-08-27  3:21 UTC (permalink / raw)
  To: Andrew Morton, Jeff Kirsher
  Cc: jeff, netdev, davem, stable, Alexander Duyck, Jesse Brandeburg

>
> Please note that this patch does not successfully apply to 2.6.25 nor
> to 2.6.26.  I didn't check why.
>
> The -stable maintainers might appreciate separate checked-and-tested
> backports for those kernels.
>
> Thanks.

Actually I don't believe this applies to any kernels prior to 2.6.27-rc1. 
It looks like the commit that broke this in the first place 
(http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=746b9f0228a1c607b3db67c80da1c2a963321926) 
was added to the torvalds tree on July 17th and 2.6.26 was released about a 
week before.

Sorry about not putting much of a changelog in for this.  It was something I 
found as a side issue while working on something else, I set it aside and 
kept working on my patches.  I forgot to come back and put a description in 
there other than what was wrong prior to forwarding it to Jeff K.

Thanks,

Alex 


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [UPDATED PATCH] ixgbe: fix vlan filtering
  2008-08-27  1:30 [UPDATED PATCH] ixgbe: fix vlan filtering Jeff Kirsher
  2008-08-27  2:12 ` Andrew Morton
@ 2008-08-27  9:18 ` Jeff Garzik
  1 sibling, 0 replies; 4+ messages in thread
From: Jeff Garzik @ 2008-08-27  9:18 UTC (permalink / raw)
  To: Jeff Kirsher
  Cc: netdev, akpm, davem, stable, Alexander Duyck, Jesse Brandeburg

Jeff Kirsher wrote:
> From: Alexander Duyck <alexander.h.duyck@intel.com>
> 
> VLAN filtering is broken, due to reading the incorrect register for the VLAN filtering settings.  Fixed by reading/writing the correct register.
> 
> Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>

applied



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-08-27  9:18 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-27  1:30 [UPDATED PATCH] ixgbe: fix vlan filtering Jeff Kirsher
2008-08-27  2:12 ` Andrew Morton
2008-08-27  3:21   ` Alexander Duyck
2008-08-27  9:18 ` Jeff Garzik

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).