From: Bruce Allan Date: Mon, 10 May 2010 15:00:50 +0000 (+0000) Subject: e1000e: Remove EN_MAC_ADDR_FILTER check from enable_mng_pass_thru check X-Git-Tag: master-2010-06-02~104^2~137 X-Git-Url: http://pileus.org/git/?a=commitdiff_plain;h=757c530407a92fd460d557af59ba86920cf025cb;p=~andy%2Flinux e1000e: Remove EN_MAC_ADDR_FILTER check from enable_mng_pass_thru check 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 Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller --- diff --git a/drivers/net/e1000e/lib.c b/drivers/net/e1000e/lib.c index b0d2a60aa49..b32361dc340 100644 --- a/drivers/net/e1000e/lib.c +++ b/drivers/net/e1000e/lib.c @@ -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) {