/* Check to see if checksum needs to be fixed by reading bit 6 in word 0x19. If the bit is 0, that the EEPROM had been modified, but the checksum was not calculated, in which case we need to calculate the checksum and set bit 6.  */
static s32 e1000_validate_nvm_checksum_ich8lan(struct e1000_hw *hw)
/* Check to see if checksum needs to be fixed by reading bit 6 in word 0x19. If the bit is 0, that the EEPROM had been modified, but the checksum was not calculated, in which case we need to calculate the checksum and set bit 6.  */
static s32 e1000_validate_nvm_checksum_ich8lan(struct e1000_hw *hw)
{
	s32 ret_val;
	u16 data;
	ret_val = e1000_read_nvm(hw, 0x19, 1, &data);
	if (ret_val)
		return ret_val;
	if ((data & 0x40) == 0) {
		data |= 0x40;
		ret_val = e1000_write_nvm(hw, 0x19, 1, &data);
		if (ret_val)
			return ret_val;
		ret_val = e1000e_update_nvm_checksum(hw);
		if (ret_val)
			return ret_val;
	}
	return e1000e_validate_nvm_checksum_generic(hw);
}