/* Verifies the hardware needs to allow ARPs to be processed by the host returns: - true/false  */
u32 e1000_enable_mng_pass_thru(struct e1000_hw *hw)
/* Verifies the hardware needs to allow ARPs to be processed by the host returns: - true/false  */
u32 e1000_enable_mng_pass_thru(struct e1000_hw *hw)
{
	u32 manc;
	if (hw->asf_firmware_present) {
		manc = er32(MANC);
		if (!(manc & E1000_MANC_RCV_TCO_EN) ||
		    !(manc & E1000_MANC_EN_MAC_ADDR_FILTER))
			return false;
		if ((manc & E1000_MANC_SMBUS_EN) && !(manc & E1000_MANC_ASF_EN))
			return true;
	}
	return false;
}