summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
diff options
context:
space:
mode:
authorJohn Fastabend2012-04-15 08:44:25 +0200
committerDavid S. Miller2012-04-15 19:06:05 +0200
commit9dcb373c55c422f6c827b1a63c1be9b318a37151 (patch)
tree4867dc3c22a47e4e7e03a50af768da36f9bfafcd /drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
parentixgbe: enable FDB netdevice ops (diff)
downloadkernel-qcow2-linux-9dcb373c55c422f6c827b1a63c1be9b318a37151.tar.gz
kernel-qcow2-linux-9dcb373c55c422f6c827b1a63c1be9b318a37151.tar.xz
kernel-qcow2-linux-9dcb373c55c422f6c827b1a63c1be9b318a37151.zip
ixgbe: allow RAR table to be updated in promisc mode
This allows RAR table updates while in promiscuous. With SR-IOV enabled it is valuable to allow the RAR table to be updated even when in promisc mode to configure forwarding Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/intel/ixgbe/ixgbe_main.c')
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_main.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 8b373951f644..25a7ed917a30 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -3462,16 +3462,17 @@ void ixgbe_set_rx_mode(struct net_device *netdev)
}
ixgbe_vlan_filter_enable(adapter);
hw->addr_ctrl.user_set_promisc = false;
- /*
- * Write addresses to available RAR registers, if there is not
- * sufficient space to store all the addresses then enable
- * unicast promiscuous mode
- */
- count = ixgbe_write_uc_addr_list(netdev);
- if (count < 0) {
- fctrl |= IXGBE_FCTRL_UPE;
- vmolr |= IXGBE_VMOLR_ROPE;
- }
+ }
+
+ /*
+ * Write addresses to available RAR registers, if there is not
+ * sufficient space to store all the addresses then enable
+ * unicast promiscuous mode
+ */
+ count = ixgbe_write_uc_addr_list(netdev);
+ if (count < 0) {
+ fctrl |= IXGBE_FCTRL_UPE;
+ vmolr |= IXGBE_VMOLR_ROPE;
}
if (adapter->num_vfs) {