e1000e: Remove EN_MAC_ADDR_FILTER check from enable_mng_pass_thru check
authorBruce Allan <bruce.w.allan@intel.com>
Mon, 10 May 2010 15:00:50 +0000 (15:00 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 13 May 2010 06:31:11 +0000 (23:31 -0700)
Patch addresses issues when manageability passthrough is enabled, but the
MAC_ADDR_FILTER bit is not set in the MANC register.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/e1000e/lib.c

index b0d2a60aa4904f61dbfb686fb7c22bc8d803adb8..b32361dc340e8474b2c6542efc145fe252925479 100644 (file)
@@ -2515,10 +2515,11 @@ s32 e1000e_mng_write_dhcp_info(struct e1000_hw *hw, u8 *buffer, u16 length)
 }
 
 /**
- *  e1000e_enable_mng_pass_thru - Enable processing of ARP's
+ *  e1000e_enable_mng_pass_thru - Check if management passthrough is needed
  *  @hw: pointer to the HW structure
  *
- *  Verifies the hardware needs to allow ARPs to be processed by the host.
+ *  Verifies the hardware needs to leave interface enabled so that frames can
+ *  be directed to and from the management interface.
  **/
 bool e1000e_enable_mng_pass_thru(struct e1000_hw *hw)
 {
@@ -2528,8 +2529,7 @@ bool e1000e_enable_mng_pass_thru(struct e1000_hw *hw)
 
        manc = er32(MANC);
 
-       if (!(manc & E1000_MANC_RCV_TCO_EN) ||
-           !(manc & E1000_MANC_EN_MAC_ADDR_FILTER))
+       if (!(manc & E1000_MANC_RCV_TCO_EN))
                return ret_val;
 
        if (hw->mac.arc_subsystem_valid) {