if (ret_val)
                        return ret_val;
                if (hw->phy.sfp_type == ixgbe_sfp_type_unknown)
-                       return IXGBE_ERR_SFP_NOT_SUPPORTED;
+                       return -EOPNOTSUPP;
 
                /* Check to see if SFP+ module is supported */
                ret_val = ixgbe_get_sfp_init_sequence_offsets(hw,
                                                            &list_offset,
                                                            &data_offset);
                if (ret_val)
-                       return IXGBE_ERR_SFP_NOT_SUPPORTED;
+                       return -EOPNOTSUPP;
                break;
        default:
                break;
                break;
 
        default:
-               return IXGBE_ERR_LINK_SETUP;
+               return -EIO;
        }
 
        return 0;
 
        /* Validate the water mark configuration */
        if (!hw->fc.pause_time)
-               return IXGBE_ERR_INVALID_LINK_SETTINGS;
+               return -EINVAL;
 
        /* Low water mark of zero causes XOFF floods */
        for (i = 0; i < MAX_TRAFFIC_CLASS; i++) {
                        if (!hw->fc.low_water[i] ||
                            hw->fc.low_water[i] >= hw->fc.high_water[i]) {
                                hw_dbg(hw, "Invalid water mark configuration\n");
-                               return IXGBE_ERR_INVALID_LINK_SETTINGS;
+                               return -EINVAL;
                        }
                }
        }
                break;
        default:
                hw_dbg(hw, "Flow control param set incorrectly\n");
-               return IXGBE_ERR_CONFIG;
+               return -EIO;
        }
 
        /* Set 802.3x based flow control settings. */
                                msleep(100);
                        }
                        if (!(links_reg & IXGBE_LINKS_KX_AN_COMP)) {
-                               status = IXGBE_ERR_AUTONEG_NOT_COMPLETE;
+                               status = -EIO;
                                hw_dbg(hw, "Autonegotiation did not complete.\n");
                        }
                }
 
        if (timeout == IXGBE_VALIDATE_LINK_READY_TIMEOUT) {
                hw_dbg(hw, "Link was indicated but link is down\n");
-               return IXGBE_ERR_LINK_SETUP;
+               return -EIO;
        }
 
        return 0;
        speed &= link_capabilities;
 
        if (speed == IXGBE_LINK_SPEED_UNKNOWN)
-               return IXGBE_ERR_LINK_SETUP;
+               return -EINVAL;
 
        /* Set KX4/KX support according to speed requested */
        else if (link_mode == IXGBE_AUTOC_LMS_KX4_AN ||
 
                /* Init PHY and function pointers, perform SFP setup */
                phy_status = hw->phy.ops.init(hw);
-               if (phy_status == IXGBE_ERR_SFP_NOT_SUPPORTED)
+               if (phy_status == -EOPNOTSUPP)
                        return phy_status;
-               if (phy_status == IXGBE_ERR_SFP_NOT_PRESENT)
+               if (phy_status == -ENOENT)
                        goto mac_reset_top;
 
                hw->phy.ops.reset(hw);
                udelay(1);
        }
        if (ctrl & IXGBE_CTRL_RST) {
-               status = IXGBE_ERR_RESET_FAILED;
+               status = -EIO;
                hw_dbg(hw, "Reset polling failed to complete.\n");
        }
 
        /* Make sure we are using a valid rar index range */
        if (rar >= rar_entries) {
                hw_dbg(hw, "RAR index %d is out of range.\n", rar);
-               return IXGBE_ERR_INVALID_ARGUMENT;
+               return -EINVAL;
        }
 
        rar_high = IXGBE_READ_REG(hw, IXGBE_RAH(rar));
        /* Make sure we are using a valid rar index range */
        if (rar >= rar_entries) {
                hw_dbg(hw, "RAR index %d is out of range.\n", rar);
-               return IXGBE_ERR_INVALID_ARGUMENT;
+               return -EINVAL;
        }
 
        rar_high = IXGBE_READ_REG(hw, IXGBE_RAH(rar));
        u32 vftabyte;
 
        if (vlan > 4095)
-               return IXGBE_ERR_PARAM;
+               return -EINVAL;
 
        /* Determine 32-bit word position in array */
        regindex = (vlan >> 5) & 0x7F;   /* upper seven bits */
                gssr = IXGBE_GSSR_PHY0_SM;
 
        if (hw->mac.ops.acquire_swfw_sync(hw, gssr) != 0)
-               return IXGBE_ERR_SWFW_SYNC;
+               return -EBUSY;
 
        if (hw->phy.type == ixgbe_phy_nl) {
                /*
 
                if (sfp_stat != IXGBE_I2C_EEPROM_STATUS_PASS) {
                        hw_dbg(hw, "EEPROM read did not pass.\n");
-                       status = IXGBE_ERR_SFP_NOT_PRESENT;
+                       status = -ENOENT;
                        goto out;
                }
 
 
                *eeprom_data = (u8)(sfp_data >> 8);
        } else {
-               status = IXGBE_ERR_PHY;
+               status = -EIO;
        }
 
 out:
 
                ret_val = hw->mac.ops.acquire_swfw_sync(hw,
                                                        IXGBE_GSSR_MAC_CSR_SM);
                if (ret_val)
-                       return IXGBE_ERR_SWFW_SYNC;
+                       return -EBUSY;
 
                if (hw->eeprom.ops.read(hw, ++data_offset, &data_value))
                        goto setup_sfp_err;
 
                if (ret_val) {
                        hw_dbg(hw, " sfp module setup not complete\n");
-                       return IXGBE_ERR_SFP_SETUP_NOT_COMPLETE;
+                       return -EIO;
                }
        }
 
        usleep_range(hw->eeprom.semaphore_delay * 1000,
                     hw->eeprom.semaphore_delay * 2000);
        hw_err(hw, "eeprom read at offset %d failed\n", data_offset);
-       return IXGBE_ERR_SFP_SETUP_NOT_COMPLETE;
+       return -EIO;
 }
 
 /**
                ret_val = hw->mac.ops.acquire_swfw_sync(hw,
                                        IXGBE_GSSR_MAC_CSR_SM);
                if (ret_val)
-                       return IXGBE_ERR_SWFW_SYNC;
+                       return -EBUSY;
 
                *locked = true;
        }
                ret_val = hw->mac.ops.acquire_swfw_sync(hw,
                                        IXGBE_GSSR_MAC_CSR_SM);
                if (ret_val)
-                       return IXGBE_ERR_SWFW_SYNC;
+                       return -EBUSY;
 
                locked = true;
        }
                break;
 
        default:
-               return IXGBE_ERR_LINK_SETUP;
+               return -EIO;
        }
 
        if (hw->phy.multispeed_fiber) {
                                msleep(100);
                        }
                        if (!(links_reg & IXGBE_LINKS_KX_AN_COMP)) {
-                               status = IXGBE_ERR_AUTONEG_NOT_COMPLETE;
+                               status = -EIO;
                                hw_dbg(hw, "Autoneg did not complete.\n");
                        }
                }
        speed &= link_capabilities;
 
        if (speed == IXGBE_LINK_SPEED_UNKNOWN)
-               return IXGBE_ERR_LINK_SETUP;
+               return -EINVAL;
 
        /* Use stored value (EEPROM defaults) of AUTOC to find KR/KX4 support*/
        if (hw->mac.orig_link_settings_stored)
                                        msleep(100);
                                }
                                if (!(links_reg & IXGBE_LINKS_KX_AN_COMP)) {
-                                       status =
-                                               IXGBE_ERR_AUTONEG_NOT_COMPLETE;
+                                       status = -EIO;
                                        hw_dbg(hw, "Autoneg did not complete.\n");
                                }
                        }
        /* Identify PHY and related function pointers */
        status = hw->phy.ops.init(hw);
 
-       if (status == IXGBE_ERR_SFP_NOT_SUPPORTED)
+       if (status == -EOPNOTSUPP)
                return status;
 
        /* Setup SFP module if there is one present. */
                hw->phy.sfp_setup_needed = false;
        }
 
-       if (status == IXGBE_ERR_SFP_NOT_SUPPORTED)
+       if (status == -EOPNOTSUPP)
                return status;
 
        /* Reset PHY */
        }
 
        if (ctrl & IXGBE_CTRL_RST_MASK) {
-               status = IXGBE_ERR_RESET_FAILED;
+               status = -EIO;
                hw_dbg(hw, "Reset polling failed to complete.\n");
        }
 
                udelay(10);
        }
 
-       return IXGBE_ERR_FDIR_CMD_INCOMPLETE;
+       return -EIO;
 }
 
 /**
        }
        if (i >= IXGBE_FDIR_INIT_DONE_POLL) {
                hw_dbg(hw, "Flow Director Signature poll time exceeded!\n");
-               return IXGBE_ERR_FDIR_REINIT_FAILED;
+               return -EIO;
        }
 
        /* Clear FDIR statistics registers (read to clear) */
                break;
        default:
                hw_dbg(hw, " Error on flow type input\n");
-               return IXGBE_ERR_CONFIG;
+               return -EIO;
        }
 
        /* configure FDIRCMD register */
                break;
        default:
                hw_dbg(hw, " Error on vm pool mask\n");
-               return IXGBE_ERR_CONFIG;
+               return -EIO;
        }
 
        switch (input_mask->formatted.flow_type & IXGBE_ATR_L4TYPE_MASK) {
                if (input_mask->formatted.dst_port ||
                    input_mask->formatted.src_port) {
                        hw_dbg(hw, " Error on src/dst port mask\n");
-                       return IXGBE_ERR_CONFIG;
+                       return -EIO;
                }
                break;
        case IXGBE_ATR_L4TYPE_MASK:
                break;
        default:
                hw_dbg(hw, " Error on flow type mask\n");
-               return IXGBE_ERR_CONFIG;
+               return -EIO;
        }
 
        switch (ntohs(input_mask->formatted.vlan_id) & 0xEFFF) {
                break;
        default:
                hw_dbg(hw, " Error on VLAN mask\n");
-               return IXGBE_ERR_CONFIG;
+               return -EIO;
        }
 
        switch ((__force u16)input_mask->formatted.flex_bytes & 0xFFFF) {
                break;
        default:
                hw_dbg(hw, " Error on flexible byte mask\n");
-               return IXGBE_ERR_CONFIG;
+               return -EIO;
        }
 
        /* Now mask VM pool and destination IPv6 - bits 5 and 2 */
 
        /* Return error if SFP module has been detected but is not supported */
        if (hw->phy.type == ixgbe_phy_sfp_unsupported)
-               return IXGBE_ERR_SFP_NOT_SUPPORTED;
+               return -EOPNOTSUPP;
 
        return status;
 }
  *  Verifies that installed the firmware version is 0.6 or higher
  *  for SFI devices. All 82599 SFI devices should have version 0.6 or higher.
  *
- *  Returns IXGBE_ERR_EEPROM_VERSION if the FW is not present or
- *  if the FW version is not supported.
+ *  Return: -EACCES if the FW is not present or if the FW version is
+ *  not supported.
  **/
 static s32 ixgbe_verify_fw_version_82599(struct ixgbe_hw *hw)
 {
-       s32 status = IXGBE_ERR_EEPROM_VERSION;
        u16 fw_offset, fw_ptp_cfg_offset;
+       s32 status = -EACCES;
        u16 offset;
        u16 fw_version = 0;
 
                goto fw_version_err;
 
        if (fw_offset == 0 || fw_offset == 0xFFFF)
-               return IXGBE_ERR_EEPROM_VERSION;
+               return -EACCES;
 
        /* get the offset to the Pass Through Patch Configuration block */
        offset = fw_offset + IXGBE_FW_PASSTHROUGH_PATCH_CONFIG_PTR;
                goto fw_version_err;
 
        if (fw_ptp_cfg_offset == 0 || fw_ptp_cfg_offset == 0xFFFF)
-               return IXGBE_ERR_EEPROM_VERSION;
+               return -EACCES;
 
        /* get the firmware version */
        offset = fw_ptp_cfg_offset + IXGBE_FW_PATCH_VERSION_4;
 
 fw_version_err:
        hw_err(hw, "eeprom read at offset %d failed\n", offset);
-       return IXGBE_ERR_EEPROM_VERSION;
+       return -EACCES;
 }
 
 /**
 
        if (!(anlp1_reg & IXGBE_ANLP1_AN_STATE_MASK)) {
                hw_dbg(hw, "auto negotiation not completed\n");
-               ret_val = IXGBE_ERR_RESET_FAILED;
+               ret_val = -EIO;
                goto reset_pipeline_out;
        }
 
 
                if (!timeout) {
                        hw_dbg(hw, "Driver can't access resource, acquiring I2C bus timeout.\n");
-                       status = IXGBE_ERR_I2C;
+                       status = -EIO;
                        goto release_i2c_access;
                }
        }
 
                if (!timeout) {
                        hw_dbg(hw, "Driver can't access resource, acquiring I2C bus timeout.\n");
-                       status = IXGBE_ERR_I2C;
+                       status = -EIO;
                        goto release_i2c_access;
                }
        }
 
         */
        if (hw->fc.strict_ieee && hw->fc.requested_mode == ixgbe_fc_rx_pause) {
                hw_dbg(hw, "ixgbe_fc_rx_pause not valid in strict IEEE mode\n");
-               return IXGBE_ERR_INVALID_LINK_SETTINGS;
+               return -EINVAL;
        }
 
        /*
                break;
        default:
                hw_dbg(hw, "Flow control param set incorrectly\n");
-               return IXGBE_ERR_CONFIG;
+               return -EIO;
        }
 
        if (hw->mac.type != ixgbe_mac_X540) {
 
        if (pba_num == NULL) {
                hw_dbg(hw, "PBA string buffer was null\n");
-               return IXGBE_ERR_INVALID_ARGUMENT;
+               return -EINVAL;
        }
 
        ret_val = hw->eeprom.ops.read(hw, IXGBE_PBANUM0_PTR, &data);
                /* we will need 11 characters to store the PBA */
                if (pba_num_size < 11) {
                        hw_dbg(hw, "PBA string buffer too small\n");
-                       return IXGBE_ERR_NO_SPACE;
+                       return -ENOSPC;
                }
 
                /* extract hex string from data and pba_ptr */
 
        if (length == 0xFFFF || length == 0) {
                hw_dbg(hw, "NVM PBA number section invalid length\n");
-               return IXGBE_ERR_PBA_SECTION;
+               return -EIO;
        }
 
        /* check if pba_num buffer is big enough */
        if (pba_num_size  < (((u32)length * 2) - 1)) {
                hw_dbg(hw, "PBA string buffer too small\n");
-               return IXGBE_ERR_NO_SPACE;
+               return -ENOSPC;
        }
 
        /* trim pba length from start of string */
        u32 led_reg = IXGBE_READ_REG(hw, IXGBE_LEDCTL);
 
        if (index > 3)
-               return IXGBE_ERR_PARAM;
+               return -EINVAL;
 
        /* To turn on the LED, set mode to ON. */
        led_reg &= ~IXGBE_LED_MODE_MASK(index);
        u32 led_reg = IXGBE_READ_REG(hw, IXGBE_LEDCTL);
 
        if (index > 3)
-               return IXGBE_ERR_PARAM;
+               return -EINVAL;
 
        /* To turn off the LED, set mode to OFF. */
        led_reg &= ~IXGBE_LED_MODE_MASK(index);
 
        hw->eeprom.ops.init_params(hw);
 
-       if (words == 0)
-               return IXGBE_ERR_INVALID_ARGUMENT;
-
-       if (offset + words > hw->eeprom.word_size)
-               return IXGBE_ERR_EEPROM;
+       if (words == 0 || (offset + words > hw->eeprom.word_size))
+               return -EINVAL;
 
        /*
         * The EEPROM page size cannot be queried from the chip. We do lazy
 
        if (ixgbe_ready_eeprom(hw) != 0) {
                ixgbe_release_eeprom(hw);
-               return IXGBE_ERR_EEPROM;
+               return -EIO;
        }
 
        for (i = 0; i < words; i++) {
        hw->eeprom.ops.init_params(hw);
 
        if (offset >= hw->eeprom.word_size)
-               return IXGBE_ERR_EEPROM;
+               return -EINVAL;
 
        return ixgbe_write_eeprom_buffer_bit_bang(hw, offset, 1, &data);
 }
 
        hw->eeprom.ops.init_params(hw);
 
-       if (words == 0)
-               return IXGBE_ERR_INVALID_ARGUMENT;
-
-       if (offset + words > hw->eeprom.word_size)
-               return IXGBE_ERR_EEPROM;
+       if (words == 0 || (offset + words > hw->eeprom.word_size))
+               return -EINVAL;
 
        /*
         * We cannot hold synchronization semaphores for too long
 
        if (ixgbe_ready_eeprom(hw) != 0) {
                ixgbe_release_eeprom(hw);
-               return IXGBE_ERR_EEPROM;
+               return -EIO;
        }
 
        for (i = 0; i < words; i++) {
        hw->eeprom.ops.init_params(hw);
 
        if (offset >= hw->eeprom.word_size)
-               return IXGBE_ERR_EEPROM;
+               return -EINVAL;
 
        return ixgbe_read_eeprom_buffer_bit_bang(hw, offset, 1, data);
 }
 
        hw->eeprom.ops.init_params(hw);
 
-       if (words == 0)
-               return IXGBE_ERR_INVALID_ARGUMENT;
-
-       if (offset >= hw->eeprom.word_size)
-               return IXGBE_ERR_EEPROM;
+       if (words == 0 || offset >= hw->eeprom.word_size)
+               return -EINVAL;
 
        for (i = 0; i < words; i++) {
                eerd = ((offset + i) << IXGBE_EEPROM_RW_ADDR_SHIFT) |
 
        hw->eeprom.ops.init_params(hw);
 
-       if (words == 0)
-               return IXGBE_ERR_INVALID_ARGUMENT;
-
-       if (offset >= hw->eeprom.word_size)
-               return IXGBE_ERR_EEPROM;
+       if (words == 0 || offset >= hw->eeprom.word_size)
+               return -EINVAL;
 
        for (i = 0; i < words; i++) {
                eewr = ((offset + i) << IXGBE_EEPROM_RW_ADDR_SHIFT) |
                }
                udelay(5);
        }
-       return IXGBE_ERR_EEPROM;
+       return -EIO;
 }
 
 /**
        u32 i;
 
        if (hw->mac.ops.acquire_swfw_sync(hw, IXGBE_GSSR_EEP_SM) != 0)
-               return IXGBE_ERR_SWFW_SYNC;
+               return -EBUSY;
 
        eec = IXGBE_READ_REG(hw, IXGBE_EEC(hw));
 
                hw_dbg(hw, "Could not acquire EEPROM grant\n");
 
                hw->mac.ops.release_swfw_sync(hw, IXGBE_GSSR_EEP_SM);
-               return IXGBE_ERR_EEPROM;
+               return -EIO;
        }
 
        /* Setup EEPROM for Read/Write */
                swsm = IXGBE_READ_REG(hw, IXGBE_SWSM(hw));
                if (swsm & IXGBE_SWSM_SMBI) {
                        hw_dbg(hw, "Software semaphore SMBI between device drivers not granted.\n");
-                       return IXGBE_ERR_EEPROM;
+                       return -EIO;
                }
        }
 
        if (i >= timeout) {
                hw_dbg(hw, "SWESMBI Software EEPROM semaphore not granted.\n");
                ixgbe_release_eeprom_semaphore(hw);
-               return IXGBE_ERR_EEPROM;
+               return -EIO;
        }
 
        return 0;
         */
        if (i >= IXGBE_EEPROM_MAX_RETRY_SPI) {
                hw_dbg(hw, "SPI EEPROM Status error\n");
-               return IXGBE_ERR_EEPROM;
+               return -EIO;
        }
 
        return 0;
        for (i = IXGBE_PCIE_ANALOG_PTR; i < IXGBE_FW_PTR; i++) {
                if (hw->eeprom.ops.read(hw, i, &pointer)) {
                        hw_dbg(hw, "EEPROM read failed\n");
-                       return IXGBE_ERR_EEPROM;
+                       return -EIO;
                }
 
                /* If the pointer seems invalid */
 
                if (hw->eeprom.ops.read(hw, pointer, &length)) {
                        hw_dbg(hw, "EEPROM read failed\n");
-                       return IXGBE_ERR_EEPROM;
+                       return -EIO;
                }
 
                if (length == 0xFFFF || length == 0)
                for (j = pointer + 1; j <= pointer + length; j++) {
                        if (hw->eeprom.ops.read(hw, j, &word)) {
                                hw_dbg(hw, "EEPROM read failed\n");
-                               return IXGBE_ERR_EEPROM;
+                               return -EIO;
                        }
                        checksum += word;
                }
         * calculated checksum
         */
        if (read_checksum != checksum)
-               status = IXGBE_ERR_EEPROM_CHECKSUM;
+               status = -EIO;
 
        /* If the user cares, return the calculated checksum */
        if (checksum_val)
        /* Make sure we are using a valid rar index range */
        if (index >= rar_entries) {
                hw_dbg(hw, "RAR index %d is out of range.\n", index);
-               return IXGBE_ERR_INVALID_ARGUMENT;
+               return -EINVAL;
        }
 
        /* setup VMDq pool selection before this RAR gets enabled */
        /* Make sure we are using a valid rar index range */
        if (index >= rar_entries) {
                hw_dbg(hw, "RAR index %d is out of range.\n", index);
-               return IXGBE_ERR_INVALID_ARGUMENT;
+               return -EINVAL;
        }
 
        /*
 
        /* Validate the water mark configuration. */
        if (!hw->fc.pause_time)
-               return IXGBE_ERR_INVALID_LINK_SETTINGS;
+               return -EINVAL;
 
        /* Low water mark of zero causes XOFF floods */
        for (i = 0; i < MAX_TRAFFIC_CLASS; i++) {
                        if (!hw->fc.low_water[i] ||
                            hw->fc.low_water[i] >= hw->fc.high_water[i]) {
                                hw_dbg(hw, "Invalid water mark configuration\n");
-                               return IXGBE_ERR_INVALID_LINK_SETTINGS;
+                               return -EINVAL;
                        }
                }
        }
                break;
        default:
                hw_dbg(hw, "Flow control param set incorrectly\n");
-               return IXGBE_ERR_CONFIG;
+               return -EIO;
        }
 
        /* Set 802.3x based flow control settings. */
                       u32 adv_sym, u32 adv_asm, u32 lp_sym, u32 lp_asm)
 {
        if ((!(adv_reg)) ||  (!(lp_reg)))
-               return IXGBE_ERR_FC_NOT_NEGOTIATED;
+               return -EINVAL;
 
        if ((adv_reg & adv_sym) && (lp_reg & lp_sym)) {
                /*
        linkstat = IXGBE_READ_REG(hw, IXGBE_PCS1GLSTA);
        if ((!!(linkstat & IXGBE_PCS1GLSTA_AN_COMPLETE) == 0) ||
            (!!(linkstat & IXGBE_PCS1GLSTA_AN_TIMED_OUT) == 1))
-               return IXGBE_ERR_FC_NOT_NEGOTIATED;
+               return -EIO;
 
        pcs_anadv_reg = IXGBE_READ_REG(hw, IXGBE_PCS1GANA);
        pcs_lpab_reg = IXGBE_READ_REG(hw, IXGBE_PCS1GANLP);
         */
        links = IXGBE_READ_REG(hw, IXGBE_LINKS);
        if ((links & IXGBE_LINKS_KX_AN_COMP) == 0)
-               return IXGBE_ERR_FC_NOT_NEGOTIATED;
+               return -EIO;
 
        if (hw->mac.type == ixgbe_mac_82599EB) {
                links2 = IXGBE_READ_REG(hw, IXGBE_LINKS2);
                if ((links2 & IXGBE_LINKS2_AN_SUPPORTED) == 0)
-                       return IXGBE_ERR_FC_NOT_NEGOTIATED;
+                       return -EIO;
        }
        /*
         * Read the 10g AN autoc and LP ability registers and resolve
  **/
 void ixgbe_fc_autoneg(struct ixgbe_hw *hw)
 {
-       s32 ret_val = IXGBE_ERR_FC_NOT_NEGOTIATED;
        ixgbe_link_speed speed;
+       s32 ret_val = -EIO;
        bool link_up;
 
        /*
  *  @hw: pointer to hardware structure
  *
  *  Disables PCI-Express primary access and verifies there are no pending
- *  requests. IXGBE_ERR_PRIMARY_REQUESTS_PENDING is returned if primary disable
+ *  requests. -EALREADY is returned if primary disable
  *  bit hasn't caused the primary requests to be disabled, else 0
  *  is returned signifying primary requests disabled.
  **/
        }
 
        hw_dbg(hw, "PCIe transaction pending bit also did not clear.\n");
-       return IXGBE_ERR_PRIMARY_REQUESTS_PENDING;
+       return -EALREADY;
 }
 
 /**
                 * SW_FW_SYNC bits (not just NVM)
                 */
                if (ixgbe_get_eeprom_semaphore(hw))
-                       return IXGBE_ERR_SWFW_SYNC;
+                       return -EBUSY;
 
                gssr = IXGBE_READ_REG(hw, IXGBE_GSSR);
                if (!(gssr & (fwmask | swmask))) {
                ixgbe_release_swfw_sync(hw, gssr & (fwmask | swmask));
 
        usleep_range(5000, 10000);
-       return IXGBE_ERR_SWFW_SYNC;
+       return -EBUSY;
 }
 
 /**
        s32 ret_val;
 
        if (index > 3)
-               return IXGBE_ERR_PARAM;
+               return -EINVAL;
 
        /*
         * Link must be up to auto-blink the LEDs;
        s32 ret_val;
 
        if (index > 3)
-               return IXGBE_ERR_PARAM;
+               return -EINVAL;
 
        ret_val = hw->mac.ops.prot_autoc_read(hw, &locked, &autoc_reg);
        if (ret_val)
        /* Make sure we are using a valid rar index range */
        if (rar >= rar_entries) {
                hw_dbg(hw, "RAR index %d is out of range.\n", rar);
-               return IXGBE_ERR_INVALID_ARGUMENT;
+               return -EINVAL;
        }
 
        mpsar_lo = IXGBE_READ_REG(hw, IXGBE_MPSAR_LO(rar));
        /* Make sure we are using a valid rar index range */
        if (rar >= rar_entries) {
                hw_dbg(hw, "RAR index %d is out of range.\n", rar);
-               return IXGBE_ERR_INVALID_ARGUMENT;
+               return -EINVAL;
        }
 
        if (vmdq < 32) {
         * will simply bypass the VLVF if there are no entries present in the
         * VLVF that contain our VLAN
         */
-       first_empty_slot = vlvf_bypass ? IXGBE_ERR_NO_SPACE : 0;
+       first_empty_slot = vlvf_bypass ? -ENOSPC : 0;
 
        /* add VLAN enable bit for comparison */
        vlan |= IXGBE_VLVF_VIEN;
        if (!first_empty_slot)
                hw_dbg(hw, "No space in VLVF.\n");
 
-       return first_empty_slot ? : IXGBE_ERR_NO_SPACE;
+       return first_empty_slot ? : -ENOSPC;
 }
 
 /**
        s32 vlvf_index;
 
        if ((vlan > 4095) || (vind > 63))
-               return IXGBE_ERR_PARAM;
+               return -EINVAL;
 
        /*
         * this is a 2 part operation - first the VFTA, then the
  *
  *  Communicates with the manageability block. On success return 0
  *  else returns semaphore error when encountering an error acquiring
- *  semaphore or IXGBE_ERR_HOST_INTERFACE_COMMAND when command fails.
+ *  semaphore, -EINVAL when incorrect parameters passed or -EIO when
+ *  command fails.
  *
  *  This function assumes that the IXGBE_GSSR_SW_MNG_SM semaphore is held
  *  by the caller.
 
        if (!length || length > IXGBE_HI_MAX_BLOCK_BYTE_LENGTH) {
                hw_dbg(hw, "Buffer length failure buffersize-%d.\n", length);
-               return IXGBE_ERR_HOST_INTERFACE_COMMAND;
+               return -EINVAL;
        }
 
        /* Set bit 9 of FWSTS clearing FW reset indication */
        hicr = IXGBE_READ_REG(hw, IXGBE_HICR);
        if (!(hicr & IXGBE_HICR_EN)) {
                hw_dbg(hw, "IXGBE_HOST_EN bit disabled.\n");
-               return IXGBE_ERR_HOST_INTERFACE_COMMAND;
+               return -EIO;
        }
 
        /* Calculate length in DWORDs. We must be DWORD aligned */
        if (length % sizeof(u32)) {
                hw_dbg(hw, "Buffer length failure, not aligned to dword");
-               return IXGBE_ERR_INVALID_ARGUMENT;
+               return -EINVAL;
        }
 
        dword_len = length >> 2;
        /* Check command successful completion. */
        if ((timeout && i == timeout) ||
            !(IXGBE_READ_REG(hw, IXGBE_HICR) & IXGBE_HICR_SV))
-               return IXGBE_ERR_HOST_INTERFACE_COMMAND;
+               return -EIO;
 
        return 0;
 }
  *  in these cases.
  *
  *  Communicates with the manageability block.  On success return 0
- *  else return IXGBE_ERR_HOST_INTERFACE_COMMAND.
+ *  else return -EIO or -EINVAL.
  **/
 s32 ixgbe_host_interface_command(struct ixgbe_hw *hw, void *buffer,
                                 u32 length, u32 timeout,
 
        if (!length || length > IXGBE_HI_MAX_BLOCK_BYTE_LENGTH) {
                hw_dbg(hw, "Buffer length failure buffersize-%d.\n", length);
-               return IXGBE_ERR_HOST_INTERFACE_COMMAND;
+               return -EINVAL;
        }
        /* Take management host interface semaphore */
        status = hw->mac.ops.acquire_swfw_sync(hw, IXGBE_GSSR_SW_MNG_SM);
 
        if (length < round_up(buf_len, 4) + hdr_size) {
                hw_dbg(hw, "Buffer not large enough for reply message.\n");
-               status = IXGBE_ERR_HOST_INTERFACE_COMMAND;
+               status = -EIO;
                goto rel_out;
        }
 
  *
  *  Sends driver version number to firmware through the manageability
  *  block.  On success return 0
- *  else returns IXGBE_ERR_SWFW_SYNC when encountering an error acquiring
- *  semaphore or IXGBE_ERR_HOST_INTERFACE_COMMAND when command fails.
+ *  else returns -EBUSY when encountering an error acquiring
+ *  semaphore or -EIO when command fails.
  **/
 s32 ixgbe_set_fw_drv_ver_generic(struct ixgbe_hw *hw, u8 maj, u8 min,
                                 u8 build, u8 sub, __always_unused u16 len,
                    FW_CEM_RESP_STATUS_SUCCESS)
                        ret_val = 0;
                else
-                       ret_val = IXGBE_ERR_HOST_INTERFACE_COMMAND;
+                       ret_val = -EIO;
 
                break;
        }
                return status;
 
        if ((*ets_offset == 0x0000) || (*ets_offset == 0xFFFF))
-               return IXGBE_NOT_IMPLEMENTED;
+               return -EOPNOTSUPP;
 
        status = hw->eeprom.ops.read(hw, *ets_offset, ets_cfg);
        if (status)
                return status;
 
        if ((*ets_cfg & IXGBE_ETS_TYPE_MASK) != IXGBE_ETS_TYPE_EMC_SHIFTED)
-               return IXGBE_NOT_IMPLEMENTED;
+               return -EOPNOTSUPP;
 
        return 0;
 }
 
        /* Only support thermal sensors attached to physical port 0 */
        if ((IXGBE_READ_REG(hw, IXGBE_STATUS) & IXGBE_STATUS_LAN_ID_1))
-               return IXGBE_NOT_IMPLEMENTED;
+               return -EOPNOTSUPP;
 
        status = ixgbe_get_ets_data(hw, &ets_cfg, &ets_offset);
        if (status)
 
        /* Only support thermal sensors attached to physical port 0 */
        if ((IXGBE_READ_REG(hw, IXGBE_STATUS) & IXGBE_STATUS_LAN_ID_1))
-               return IXGBE_NOT_IMPLEMENTED;
+               return -EOPNOTSUPP;
 
        status = ixgbe_get_ets_data(hw, &ets_cfg, &ets_offset);
        if (status)
 
 {
        struct ixgbe_adapter *adapter = netdev_priv(dev);
        struct ixgbe_hw *hw = &adapter->hw;
-       s32 status = IXGBE_ERR_PHY_ADDR_INVALID;
+       s32 status = -EFAULT;
        u8 databyte = 0xFF;
        int i = 0;
 
 
 {
        u32 speed;
        bool autoneg, link_up = false;
-       int ret = IXGBE_ERR_LINK_SETUP;
+       int ret = -EIO;
 
        if (hw->mac.ops.check_link)
                ret = hw->mac.ops.check_link(hw, &speed, &link_up, false);
        err = hw->mac.ops.init_hw(hw);
        switch (err) {
        case 0:
-       case IXGBE_ERR_SFP_NOT_PRESENT:
-       case IXGBE_ERR_SFP_NOT_SUPPORTED:
+       case -ENOENT:
+       case -EOPNOTSUPP:
                break;
-       case IXGBE_ERR_PRIMARY_REQUESTS_PENDING:
+       case -EALREADY:
                e_dev_err("primary disable timed out\n");
                break;
-       case IXGBE_ERR_EEPROM_VERSION:
+       case -EACCES:
                /* We are running on a pre-production device, log a warning */
                e_dev_warn("This device is a pre-production adapter/LOM. "
                           "Please be aware there may be issues associated with "
        adapter->sfp_poll_time = jiffies + IXGBE_SFP_POLL_JIFFIES - 1;
 
        err = hw->phy.ops.identify_sfp(hw);
-       if (err == IXGBE_ERR_SFP_NOT_SUPPORTED)
+       if (err == -EOPNOTSUPP)
                goto sfp_out;
 
-       if (err == IXGBE_ERR_SFP_NOT_PRESENT) {
+       if (err == -ENOENT) {
                /* If no cable is present, then we need to reset
                 * the next time we find a good cable. */
                adapter->flags2 |= IXGBE_FLAG2_SFP_NEEDS_RESET;
        else
                err = hw->mac.ops.setup_sfp(hw);
 
-       if (err == IXGBE_ERR_SFP_NOT_SUPPORTED)
+       if (err == -EOPNOTSUPP)
                goto sfp_out;
 
        adapter->flags |= IXGBE_FLAG_NEED_LINK_CONFIG;
 sfp_out:
        clear_bit(__IXGBE_IN_SFP_INIT, &adapter->state);
 
-       if ((err == IXGBE_ERR_SFP_NOT_SUPPORTED) &&
-           (adapter->netdev->reg_state == NETREG_REGISTERED)) {
+       if (err == -EOPNOTSUPP &&
+           adapter->netdev->reg_state == NETREG_REGISTERED) {
                e_dev_err("failed to initialize because an unsupported "
                          "SFP+ module type was detected.\n");
                e_dev_err("Reload the driver after installing a "
        err = hw->mac.ops.reset_hw(hw);
        hw->phy.reset_if_overtemp = false;
        ixgbe_set_eee_capable(adapter);
-       if (err == IXGBE_ERR_SFP_NOT_PRESENT) {
+       if (err == -ENOENT) {
                err = 0;
-       } else if (err == IXGBE_ERR_SFP_NOT_SUPPORTED) {
+       } else if (err == -EOPNOTSUPP) {
                e_dev_err("failed to load because an unsupported SFP+ or QSFP module type was detected.\n");
                e_dev_err("Reload the driver after installing a supported module.\n");
                goto err_sw_init;
 
        /* reset the hardware with the new settings */
        err = hw->mac.ops.start_hw(hw);
-       if (err == IXGBE_ERR_EEPROM_VERSION) {
+       if (err == -EACCES) {
                /* We are running on a pre-production device, log a warning */
                e_dev_warn("This device is a pre-production adapter/LOM. "
                           "Please be aware there may be issues associated "
 
                size = mbx->size;
 
        if (!mbx->ops)
-               return IXGBE_ERR_MBX;
+               return -EIO;
 
        return mbx->ops->read(hw, msg, size, mbx_id);
 }
        struct ixgbe_mbx_info *mbx = &hw->mbx;
 
        if (size > mbx->size)
-               return IXGBE_ERR_MBX;
+               return -EINVAL;
 
        if (!mbx->ops)
-               return IXGBE_ERR_MBX;
+               return -EIO;
 
        return mbx->ops->write(hw, msg, size, mbx_id);
 }
        struct ixgbe_mbx_info *mbx = &hw->mbx;
 
        if (!mbx->ops)
-               return IXGBE_ERR_MBX;
+               return -EIO;
 
        return mbx->ops->check_for_msg(hw, mbx_id);
 }
        struct ixgbe_mbx_info *mbx = &hw->mbx;
 
        if (!mbx->ops)
-               return IXGBE_ERR_MBX;
+               return -EIO;
 
        return mbx->ops->check_for_ack(hw, mbx_id);
 }
        struct ixgbe_mbx_info *mbx = &hw->mbx;
 
        if (!mbx->ops)
-               return IXGBE_ERR_MBX;
+               return -EIO;
 
        return mbx->ops->check_for_rst(hw, mbx_id);
 }
        int countdown = mbx->timeout;
 
        if (!countdown || !mbx->ops)
-               return IXGBE_ERR_MBX;
+               return -EIO;
 
        while (mbx->ops->check_for_msg(hw, mbx_id)) {
                countdown--;
                if (!countdown)
-                       return IXGBE_ERR_MBX;
+                       return -EIO;
                udelay(mbx->usec_delay);
        }
 
        int countdown = mbx->timeout;
 
        if (!countdown || !mbx->ops)
-               return IXGBE_ERR_MBX;
+               return -EIO;
 
        while (mbx->ops->check_for_ack(hw, mbx_id)) {
                countdown--;
                if (!countdown)
-                       return IXGBE_ERR_MBX;
+                       return -EIO;
                udelay(mbx->usec_delay);
        }
 
        s32 ret_val;
 
        if (!mbx->ops)
-               return IXGBE_ERR_MBX;
+               return -EIO;
 
        ret_val = ixgbe_poll_for_msg(hw, mbx_id);
        if (ret_val)
 
        /* exit if either we can't write or there isn't a defined timeout */
        if (!mbx->ops || !mbx->timeout)
-               return IXGBE_ERR_MBX;
+               return -EIO;
 
        /* send msg */
        ret_val = mbx->ops->write(hw, msg, size, mbx_id);
                return 0;
        }
 
-       return IXGBE_ERR_MBX;
+       return -EIO;
 }
 
 /**
                return 0;
        }
 
-       return IXGBE_ERR_MBX;
+       return -EIO;
 }
 
 /**
                return 0;
        }
 
-       return IXGBE_ERR_MBX;
+       return -EIO;
 }
 
 /**
                return 0;
        }
 
-       return IXGBE_ERR_MBX;
+       return -EIO;
 }
 
 /**
        if (p2v_mailbox & IXGBE_PFMAILBOX_PFU)
                return 0;
 
-       return IXGBE_ERR_MBX;
+       return -EIO;
 }
 
 /**
 
 #include "ixgbe_type.h"
 
 #define IXGBE_VFMAILBOX_SIZE        16 /* 16 32 bit words - 64 bytes */
-#define IXGBE_ERR_MBX               -100
 
 #define IXGBE_VFMAILBOX             0x002FC
 #define IXGBE_VFMBMEM               0x00200
 
        csum = ~csum;
        do {
                if (lock && hw->mac.ops.acquire_swfw_sync(hw, swfw_mask))
-                       return IXGBE_ERR_SWFW_SYNC;
+                       return -EBUSY;
                ixgbe_i2c_start(hw);
                /* Device Address and write indication */
                if (ixgbe_out_i2c_byte_ack(hw, addr))
                        hw_dbg(hw, "I2C byte read combined error.\n");
        } while (retry < max_retry);
 
-       return IXGBE_ERR_I2C;
+       return -EIO;
 }
 
 /**
        csum = ~csum;
        do {
                if (lock && hw->mac.ops.acquire_swfw_sync(hw, swfw_mask))
-                       return IXGBE_ERR_SWFW_SYNC;
+                       return -EBUSY;
                ixgbe_i2c_start(hw);
                /* Device Address and write indication */
                if (ixgbe_out_i2c_byte_ack(hw, addr))
                        hw_dbg(hw, "I2C byte write combined error.\n");
        } while (retry < max_retry);
 
-       return IXGBE_ERR_I2C;
+       return -EIO;
 }
 
 /**
  **/
 s32 ixgbe_identify_phy_generic(struct ixgbe_hw *hw)
 {
+       u32 status = -EFAULT;
        u32 phy_addr;
-       u32 status = IXGBE_ERR_PHY_ADDR_INVALID;
 
        if (!hw->phy.phy_semaphore_mask) {
                if (hw->bus.lan_id)
                if (ixgbe_probe_phy(hw, phy_addr))
                        return 0;
                else
-                       return IXGBE_ERR_PHY_ADDR_INVALID;
+                       return -EFAULT;
        }
 
        for (phy_addr = 0; phy_addr < IXGBE_MAX_PHY_ADDR; phy_addr++) {
 
        if (ctrl & MDIO_CTRL1_RESET) {
                hw_dbg(hw, "PHY reset polling failed to complete.\n");
-               return IXGBE_ERR_RESET_FAILED;
+               return -EIO;
        }
 
        return 0;
 
        if ((command & IXGBE_MSCA_MDI_COMMAND) != 0) {
                hw_dbg(hw, "PHY address command did not complete.\n");
-               return IXGBE_ERR_PHY;
+               return -EIO;
        }
 
        /* Address cycle complete, setup and write the read
 
        if ((command & IXGBE_MSCA_MDI_COMMAND) != 0) {
                hw_dbg(hw, "PHY read command didn't complete\n");
-               return IXGBE_ERR_PHY;
+               return -EIO;
        }
 
        /* Read operation is complete.  Get the data
                                                phy_data);
                hw->mac.ops.release_swfw_sync(hw, gssr);
        } else {
-               return IXGBE_ERR_SWFW_SYNC;
+               return -EBUSY;
        }
 
        return status;
 
        if ((command & IXGBE_MSCA_MDI_COMMAND) != 0) {
                hw_dbg(hw, "PHY address cmd didn't complete\n");
-               return IXGBE_ERR_PHY;
+               return -EIO;
        }
 
        /*
 
        if ((command & IXGBE_MSCA_MDI_COMMAND) != 0) {
                hw_dbg(hw, "PHY write cmd didn't complete\n");
-               return IXGBE_ERR_PHY;
+               return -EIO;
        }
 
        return 0;
                                                 phy_data);
                hw->mac.ops.release_swfw_sync(hw, gssr);
        } else {
-               return IXGBE_ERR_SWFW_SYNC;
+               return -EBUSY;
        }
 
        return status;
 
        if ((phy_data & MDIO_CTRL1_RESET) != 0) {
                hw_dbg(hw, "PHY reset did not complete.\n");
-               return IXGBE_ERR_PHY;
+               return -EIO;
        }
 
        /* Get init offsets */
                                hw_dbg(hw, "SOL\n");
                        } else {
                                hw_dbg(hw, "Bad control value\n");
-                               return IXGBE_ERR_PHY;
+                               return -EIO;
                        }
                        break;
                default:
                        hw_dbg(hw, "Bad control type\n");
-                       return IXGBE_ERR_PHY;
+                       return -EIO;
                }
        }
 
 
 err_eeprom:
        hw_err(hw, "eeprom read at offset %d failed\n", data_offset);
-       return IXGBE_ERR_PHY;
+       return -EIO;
 }
 
 /**
                return ixgbe_identify_qsfp_module_generic(hw);
        default:
                hw->phy.sfp_type = ixgbe_sfp_type_not_present;
-               return IXGBE_ERR_SFP_NOT_PRESENT;
+               return -ENOENT;
        }
 
-       return IXGBE_ERR_SFP_NOT_PRESENT;
+       return -ENOENT;
 }
 
 /**
 
        if (hw->mac.ops.get_media_type(hw) != ixgbe_media_type_fiber) {
                hw->phy.sfp_type = ixgbe_sfp_type_not_present;
-               return IXGBE_ERR_SFP_NOT_PRESENT;
+               return -ENOENT;
        }
 
        /* LAN ID is needed for sfp_type determination */
 
        if (identifier != IXGBE_SFF_IDENTIFIER_SFP) {
                hw->phy.type = ixgbe_phy_sfp_unsupported;
-               return IXGBE_ERR_SFP_NOT_SUPPORTED;
+               return -EOPNOTSUPP;
        }
        status = hw->phy.ops.read_i2c_eeprom(hw,
                                             IXGBE_SFF_1GBE_COMP_CODES,
              hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core0 ||
              hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1)) {
                hw->phy.type = ixgbe_phy_sfp_unsupported;
-               return IXGBE_ERR_SFP_NOT_SUPPORTED;
+               return -EOPNOTSUPP;
        }
 
        /* Anything else 82598-based is supported */
                }
                hw_dbg(hw, "SFP+ module not supported\n");
                hw->phy.type = ixgbe_phy_sfp_unsupported;
-               return IXGBE_ERR_SFP_NOT_SUPPORTED;
+               return -EOPNOTSUPP;
        }
        return 0;
 
                hw->phy.id = 0;
                hw->phy.type = ixgbe_phy_unknown;
        }
-       return IXGBE_ERR_SFP_NOT_PRESENT;
+       return -ENOENT;
 }
 
 /**
 
        if (hw->mac.ops.get_media_type(hw) != ixgbe_media_type_fiber_qsfp) {
                hw->phy.sfp_type = ixgbe_sfp_type_not_present;
-               return IXGBE_ERR_SFP_NOT_PRESENT;
+               return -ENOENT;
        }
 
        /* LAN ID is needed for sfp_type determination */
 
        if (identifier != IXGBE_SFF_IDENTIFIER_QSFP_PLUS) {
                hw->phy.type = ixgbe_phy_sfp_unsupported;
-               return IXGBE_ERR_SFP_NOT_SUPPORTED;
+               return -EOPNOTSUPP;
        }
 
        hw->phy.id = identifier;
                } else {
                        /* unsupported module type */
                        hw->phy.type = ixgbe_phy_sfp_unsupported;
-                       return IXGBE_ERR_SFP_NOT_SUPPORTED;
+                       return -EOPNOTSUPP;
                }
        }
 
                        }
                        hw_dbg(hw, "QSFP module not supported\n");
                        hw->phy.type = ixgbe_phy_sfp_unsupported;
-                       return IXGBE_ERR_SFP_NOT_SUPPORTED;
+                       return -EOPNOTSUPP;
                }
                return 0;
        }
        hw->phy.id = 0;
        hw->phy.type = ixgbe_phy_unknown;
 
-       return IXGBE_ERR_SFP_NOT_PRESENT;
+       return -ENOENT;
 }
 
 /**
        u16 sfp_type = hw->phy.sfp_type;
 
        if (hw->phy.sfp_type == ixgbe_sfp_type_unknown)
-               return IXGBE_ERR_SFP_NOT_SUPPORTED;
+               return -EOPNOTSUPP;
 
        if (hw->phy.sfp_type == ixgbe_sfp_type_not_present)
-               return IXGBE_ERR_SFP_NOT_PRESENT;
+               return -ENOENT;
 
        if ((hw->device_id == IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM) &&
            (hw->phy.sfp_type == ixgbe_sfp_type_da_cu))
-               return IXGBE_ERR_SFP_NOT_SUPPORTED;
+               return -EOPNOTSUPP;
 
        /*
         * Limiting active cables and 1G Phys must be initialized as
        if (hw->eeprom.ops.read(hw, IXGBE_PHY_INIT_OFFSET_NL, list_offset)) {
                hw_err(hw, "eeprom read at %d failed\n",
                       IXGBE_PHY_INIT_OFFSET_NL);
-               return IXGBE_ERR_SFP_NO_INIT_SEQ_PRESENT;
+               return -EIO;
        }
 
        if ((!*list_offset) || (*list_offset == 0xFFFF))
-               return IXGBE_ERR_SFP_NO_INIT_SEQ_PRESENT;
+               return -EIO;
 
        /* Shift offset to first ID word */
        (*list_offset)++;
                                goto err_phy;
                        if ((!*data_offset) || (*data_offset == 0xFFFF)) {
                                hw_dbg(hw, "SFP+ module not supported\n");
-                               return IXGBE_ERR_SFP_NOT_SUPPORTED;
+                               return -EOPNOTSUPP;
                        } else {
                                break;
                        }
 
        if (sfp_id == IXGBE_PHY_INIT_END_NL) {
                hw_dbg(hw, "No matching SFP+ module found\n");
-               return IXGBE_ERR_SFP_NOT_SUPPORTED;
+               return -EOPNOTSUPP;
        }
 
        return 0;
 
 err_phy:
        hw_err(hw, "eeprom read at offset %d failed\n", *list_offset);
-       return IXGBE_ERR_PHY;
+       return -EIO;
 }
 
 /**
 
        do {
                if (lock && hw->mac.ops.acquire_swfw_sync(hw, swfw_mask))
-                       return IXGBE_ERR_SWFW_SYNC;
+                       return -EBUSY;
 
                ixgbe_i2c_start(hw);
 
        u32 swfw_mask = hw->phy.phy_semaphore_mask;
 
        if (lock && hw->mac.ops.acquire_swfw_sync(hw, swfw_mask))
-               return IXGBE_ERR_SWFW_SYNC;
+               return -EBUSY;
 
        do {
                ixgbe_i2c_start(hw);
 
        if (ack == 1) {
                hw_dbg(hw, "I2C ack was not received.\n");
-               status = IXGBE_ERR_I2C;
+               status = -EIO;
        }
 
        ixgbe_lower_i2c_clk(hw, &i2cctl);
                udelay(IXGBE_I2C_T_LOW);
        } else {
                hw_dbg(hw, "I2C data was not set to %X\n", data);
-               return IXGBE_ERR_I2C;
+               return -EIO;
        }
 
        return 0;
        *i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL(hw));
        if (data != ixgbe_get_i2c_data(hw, i2cctl)) {
                hw_dbg(hw, "Error - I2C data was not set to %X.\n", data);
-               return IXGBE_ERR_I2C;
+               return -EIO;
        }
 
        return 0;
 
                break;
        default:
                e_err(drv, "Unhandled Msg %8.8x\n", msgbuf[0]);
-               retval = IXGBE_ERR_MBX;
+               retval = -EIO;
                break;
        }
 
 
        const u32                       *mvals;
 };
 
-
-/* Error Codes */
-#define IXGBE_ERR_EEPROM                        -1
-#define IXGBE_ERR_EEPROM_CHECKSUM               -2
-#define IXGBE_ERR_PHY                           -3
-#define IXGBE_ERR_CONFIG                        -4
-#define IXGBE_ERR_PARAM                         -5
-#define IXGBE_ERR_MAC_TYPE                      -6
-#define IXGBE_ERR_UNKNOWN_PHY                   -7
-#define IXGBE_ERR_LINK_SETUP                    -8
-#define IXGBE_ERR_ADAPTER_STOPPED               -9
-#define IXGBE_ERR_INVALID_MAC_ADDR              -10
-#define IXGBE_ERR_DEVICE_NOT_SUPPORTED          -11
-#define IXGBE_ERR_PRIMARY_REQUESTS_PENDING      -12
-#define IXGBE_ERR_INVALID_LINK_SETTINGS         -13
-#define IXGBE_ERR_AUTONEG_NOT_COMPLETE          -14
-#define IXGBE_ERR_RESET_FAILED                  -15
-#define IXGBE_ERR_SWFW_SYNC                     -16
-#define IXGBE_ERR_PHY_ADDR_INVALID              -17
-#define IXGBE_ERR_I2C                           -18
-#define IXGBE_ERR_SFP_NOT_SUPPORTED             -19
-#define IXGBE_ERR_SFP_NOT_PRESENT               -20
-#define IXGBE_ERR_SFP_NO_INIT_SEQ_PRESENT       -21
-#define IXGBE_ERR_NO_SAN_ADDR_PTR               -22
-#define IXGBE_ERR_FDIR_REINIT_FAILED            -23
-#define IXGBE_ERR_EEPROM_VERSION                -24
-#define IXGBE_ERR_NO_SPACE                      -25
-#define IXGBE_ERR_OVERTEMP                      -26
-#define IXGBE_ERR_FC_NOT_NEGOTIATED             -27
-#define IXGBE_ERR_FC_NOT_SUPPORTED              -28
-#define IXGBE_ERR_SFP_SETUP_NOT_COMPLETE        -30
-#define IXGBE_ERR_PBA_SECTION                   -31
-#define IXGBE_ERR_INVALID_ARGUMENT              -32
-#define IXGBE_ERR_HOST_INTERFACE_COMMAND        -33
-#define IXGBE_ERR_FDIR_CMD_INCOMPLETE          -38
-#define IXGBE_ERR_FW_RESP_INVALID              -39
-#define IXGBE_ERR_TOKEN_RETRY                  -40
-#define IXGBE_NOT_IMPLEMENTED                   0x7FFFFFFF
-
 #define IXGBE_FUSES0_GROUP(_i)         (0x11158 + ((_i) * 4))
 #define IXGBE_FUSES0_300MHZ            BIT(5)
 #define IXGBE_FUSES0_REV_MASK          (3u << 6)
 
        status = hw->mac.ops.acquire_swfw_sync(hw, swfw_mask);
        if (status) {
                hw_dbg(hw, "semaphore failed with %d", status);
-               return IXGBE_ERR_SWFW_SYNC;
+               return -EBUSY;
        }
 
        ctrl = IXGBE_CTRL_RST;
        }
 
        if (ctrl & IXGBE_CTRL_RST_MASK) {
-               status = IXGBE_ERR_RESET_FAILED;
+               status = -EIO;
                hw_dbg(hw, "Reset polling failed to complete.\n");
        }
        msleep(100);
        s32 status;
 
        if (hw->mac.ops.acquire_swfw_sync(hw, IXGBE_GSSR_EEP_SM))
-               return IXGBE_ERR_SWFW_SYNC;
+               return -EBUSY;
 
        status = ixgbe_read_eerd_generic(hw, offset, data);
 
        s32 status;
 
        if (hw->mac.ops.acquire_swfw_sync(hw, IXGBE_GSSR_EEP_SM))
-               return IXGBE_ERR_SWFW_SYNC;
+               return -EBUSY;
 
        status = ixgbe_read_eerd_buffer_generic(hw, offset, words, data);
 
        s32 status;
 
        if (hw->mac.ops.acquire_swfw_sync(hw, IXGBE_GSSR_EEP_SM))
-               return IXGBE_ERR_SWFW_SYNC;
+               return -EBUSY;
 
        status = ixgbe_write_eewr_generic(hw, offset, data);
 
        s32 status;
 
        if (hw->mac.ops.acquire_swfw_sync(hw, IXGBE_GSSR_EEP_SM))
-               return IXGBE_ERR_SWFW_SYNC;
+               return -EBUSY;
 
        status = ixgbe_write_eewr_buffer_generic(hw, offset, words, data);
 
        for (i = 0; i < checksum_last_word; i++) {
                if (ixgbe_read_eerd_generic(hw, i, &word)) {
                        hw_dbg(hw, "EEPROM read failed\n");
-                       return IXGBE_ERR_EEPROM;
+                       return -EIO;
                }
                checksum += word;
        }
 
                if (ixgbe_read_eerd_generic(hw, pointer, &length)) {
                        hw_dbg(hw, "EEPROM read failed\n");
-                       return IXGBE_ERR_EEPROM;
+                       return -EIO;
                }
 
                /* Skip pointer section if length is invalid. */
                for (j = pointer + 1; j <= pointer + length; j++) {
                        if (ixgbe_read_eerd_generic(hw, j, &word)) {
                                hw_dbg(hw, "EEPROM read failed\n");
-                               return IXGBE_ERR_EEPROM;
+                               return -EIO;
                        }
                        checksum += word;
                }
        }
 
        if (hw->mac.ops.acquire_swfw_sync(hw, IXGBE_GSSR_EEP_SM))
-               return IXGBE_ERR_SWFW_SYNC;
+               return -EBUSY;
 
        status = hw->eeprom.ops.calc_checksum(hw);
        if (status < 0)
         */
        if (read_checksum != checksum) {
                hw_dbg(hw, "Invalid EEPROM checksum");
-               status = IXGBE_ERR_EEPROM_CHECKSUM;
+               status = -EIO;
        }
 
        /* If the user cares, return the calculated checksum */
        }
 
        if (hw->mac.ops.acquire_swfw_sync(hw, IXGBE_GSSR_EEP_SM))
-               return  IXGBE_ERR_SWFW_SYNC;
+               return  -EBUSY;
 
        status = hw->eeprom.ops.calc_checksum(hw);
        if (status < 0)
        s32 status;
 
        status = ixgbe_poll_flash_update_done_X540(hw);
-       if (status == IXGBE_ERR_EEPROM) {
+       if (status == -EIO) {
                hw_dbg(hw, "Flash update time out\n");
                return status;
        }
                        return 0;
                udelay(5);
        }
-       return IXGBE_ERR_EEPROM;
+       return -EIO;
 }
 
 /**
                 * SW_FW_SYNC bits (not just NVM)
                 */
                if (ixgbe_get_swfw_sync_semaphore(hw))
-                       return IXGBE_ERR_SWFW_SYNC;
+                       return -EBUSY;
 
                swfw_sync = IXGBE_READ_REG(hw, IXGBE_SWFW_SYNC(hw));
                if (!(swfw_sync & (fwmask | swmask | hwmask))) {
         * bits in the SW_FW_SYNC register.
         */
        if (ixgbe_get_swfw_sync_semaphore(hw))
-               return IXGBE_ERR_SWFW_SYNC;
+               return -EBUSY;
        swfw_sync = IXGBE_READ_REG(hw, IXGBE_SWFW_SYNC(hw));
        if (swfw_sync & (fwmask | hwmask)) {
                swfw_sync |= swmask;
                        rmask |= IXGBE_GSSR_I2C_MASK;
                ixgbe_release_swfw_sync_X540(hw, rmask);
                ixgbe_release_swfw_sync_semaphore(hw);
-               return IXGBE_ERR_SWFW_SYNC;
+               return -EBUSY;
        }
        ixgbe_release_swfw_sync_semaphore(hw);
 
-       return IXGBE_ERR_SWFW_SYNC;
+       return -EBUSY;
 }
 
 /**
        if (i == timeout) {
                hw_dbg(hw,
                       "Software semaphore SMBI between device drivers not granted.\n");
-               return IXGBE_ERR_EEPROM;
+               return -EIO;
        }
 
        /* Now get the semaphore between SW/FW through the REGSMP bit */
         */
        hw_dbg(hw, "REGSMP Software NVM semaphore not granted\n");
        ixgbe_release_swfw_sync_semaphore(hw);
-       return IXGBE_ERR_EEPROM;
+       return -EIO;
 }
 
 /**
        bool link_up;
 
        if (index > 3)
-               return IXGBE_ERR_PARAM;
+               return -EINVAL;
 
        /* Link should be up in order for the blink bit in the LED control
         * register to work. Force link and speed in the MAC if link is down.
        u32 ledctl_reg;
 
        if (index > 3)
-               return IXGBE_ERR_PARAM;
+               return -EINVAL;
 
        /* Restore the LED to its default value. */
        ledctl_reg = IXGBE_READ_REG(hw, IXGBE_LEDCTL);
 
        }
        if (retry == IXGBE_CS4227_RETRIES) {
                hw_err(hw, "CS4227 reset did not complete\n");
-               return IXGBE_ERR_PHY;
+               return -EIO;
        }
 
        status = ixgbe_read_cs4227(hw, IXGBE_CS4227_EEPROM_STATUS, &value);
        if (status || !(value & IXGBE_CS4227_EEPROM_LOAD_OK)) {
                hw_err(hw, "CS4227 EEPROM did not load successfully\n");
-               return IXGBE_ERR_PHY;
+               return -EIO;
        }
 
        return 0;
 static s32 ixgbe_read_phy_reg_x550em(struct ixgbe_hw *hw, u32 reg_addr,
                                     u32 device_type, u16 *phy_data)
 {
-       return IXGBE_NOT_IMPLEMENTED;
+       return -EOPNOTSUPP;
 }
 
 static s32 ixgbe_write_phy_reg_x550em(struct ixgbe_hw *hw, u32 reg_addr,
                                      u32 device_type, u16 phy_data)
 {
-       return IXGBE_NOT_IMPLEMENTED;
+       return -EOPNOTSUPP;
 }
 
 /**
                --retries;
        } while (retries > 0);
 
-       return IXGBE_ERR_HOST_INTERFACE_COMMAND;
+       return -EIO;
 }
 
 static const struct {
        hw->phy.id |= phy_id_lo & IXGBE_PHY_REVISION_MASK;
        hw->phy.revision = phy_id_lo & ~IXGBE_PHY_REVISION_MASK;
        if (!hw->phy.id || hw->phy.id == IXGBE_PHY_REVISION_MASK)
-               return IXGBE_ERR_PHY_ADDR_INVALID;
+               return -EFAULT;
 
        hw->phy.autoneg_advertised = hw->phy.speeds_supported;
        hw->phy.eee_speeds_supported = IXGBE_LINK_SPEED_100_FULL |
 
        if (hw->fc.strict_ieee && hw->fc.requested_mode == ixgbe_fc_rx_pause) {
                hw_err(hw, "rx_pause not valid in strict IEEE mode\n");
-               return IXGBE_ERR_INVALID_LINK_SETTINGS;
+               return -EINVAL;
        }
 
        switch (hw->fc.requested_mode) {
                *ctrl = command;
        if (i == IXGBE_MDIO_COMMAND_TIMEOUT) {
                hw_dbg(hw, "IOSF wait timed out\n");
-               return IXGBE_ERR_PHY;
+               return -EIO;
        }
 
        return 0;
        if ((command & IXGBE_SB_IOSF_CTRL_RESP_STAT_MASK) != 0) {
                error = FIELD_GET(IXGBE_SB_IOSF_CTRL_CMPL_ERR_MASK, command);
                hw_dbg(hw, "Failed to read, error %x\n", error);
-               return IXGBE_ERR_PHY;
+               return -EIO;
        }
 
        if (!ret)
        if (token_cmd.hdr.cmd_or_resp.ret_status == FW_PHY_TOKEN_OK)
                return 0;
        if (token_cmd.hdr.cmd_or_resp.ret_status != FW_PHY_TOKEN_RETRY)
-               return IXGBE_ERR_FW_RESP_INVALID;
+               return -EIO;
 
-       return IXGBE_ERR_TOKEN_RETRY;
+       return -EAGAIN;
 }
 
 /**
                return status;
        if (token_cmd.hdr.cmd_or_resp.ret_status == FW_PHY_TOKEN_OK)
                return 0;
-       return IXGBE_ERR_FW_RESP_INVALID;
+       return -EIO;
 }
 
 /**
                local_buffer = buf;
        } else {
                if (buffer_size < ptr)
-                       return  IXGBE_ERR_PARAM;
+                       return  -EINVAL;
                local_buffer = &buffer[ptr];
        }
 
        }
 
        if (buffer && ((u32)start + (u32)length > buffer_size))
-               return IXGBE_ERR_PARAM;
+               return -EINVAL;
 
        for (i = start; length; i++, length--) {
                if (i == bufsz && !buffer) {
                local_buffer = eeprom_ptrs;
        } else {
                if (buffer_size < IXGBE_EEPROM_LAST_WORD)
-                       return IXGBE_ERR_PARAM;
+                       return -EINVAL;
                local_buffer = buffer;
        }
 
         * calculated checksum
         */
        if (read_checksum != checksum) {
-               status = IXGBE_ERR_EEPROM_CHECKSUM;
+               status = -EIO;
                hw_dbg(hw, "Invalid EEPROM checksum");
        }
 
                hw->mac.ops.release_swfw_sync(hw, IXGBE_GSSR_EEP_SM);
        } else {
                hw_dbg(hw, "write ee hostif failed to get semaphore");
-               status = IXGBE_ERR_SWFW_SYNC;
+               status = -EBUSY;
        }
 
        return status;
        if ((command & IXGBE_SB_IOSF_CTRL_RESP_STAT_MASK) != 0) {
                error = FIELD_GET(IXGBE_SB_IOSF_CTRL_CMPL_ERR_MASK, command);
                hw_dbg(hw, "Failed to write, error %x\n", error);
-               return IXGBE_ERR_PHY;
+               return -EIO;
        }
 
 out:
 
        /* iXFI is only supported with X552 */
        if (mac->type != ixgbe_mac_X550EM_x)
-               return IXGBE_ERR_LINK_SETUP;
+               return -EIO;
 
        /* Disable AN and force speed to 10G Serial. */
        status = ixgbe_read_iosf_sb_reg_x550(hw,
                break;
        default:
                /* Other link speeds are not supported by internal KR PHY. */
-               return IXGBE_ERR_LINK_SETUP;
+               return -EINVAL;
        }
 
        status = ixgbe_write_iosf_sb_reg_x550(hw,
 {
        switch (hw->phy.sfp_type) {
        case ixgbe_sfp_type_not_present:
-               return IXGBE_ERR_SFP_NOT_PRESENT;
+               return -ENOENT;
        case ixgbe_sfp_type_da_cu_core0:
        case ixgbe_sfp_type_da_cu_core1:
                *linear = true;
        case ixgbe_sfp_type_1g_cu_core0:
        case ixgbe_sfp_type_1g_cu_core1:
        default:
-               return IXGBE_ERR_SFP_NOT_SUPPORTED;
+               return -EOPNOTSUPP;
        }
 
        return 0;
         * there is no reason to configure CS4227 and SFP not present error is
         * not accepted in the setup MAC link flow.
         */
-       if (status == IXGBE_ERR_SFP_NOT_PRESENT)
+       if (status == -ENOENT)
                return 0;
 
        if (status)
                break;
        default:
                /* Other link speeds are not supported by internal PHY. */
-               return IXGBE_ERR_LINK_SETUP;
+               return -EINVAL;
        }
 
        (void)mac->ops.write_iosf_sb_reg(hw,
        /* If no SFP module present, then return success. Return success since
         * SFP not present error is not excepted in the setup MAC link flow.
         */
-       if (ret_val == IXGBE_ERR_SFP_NOT_PRESENT)
+       if (ret_val == -ENOENT)
                return 0;
 
        if (ret_val)
        /* If no SFP module present, then return success. Return success since
         * SFP not present error is not excepted in the setup MAC link flow.
         */
-       if (ret_val == IXGBE_ERR_SFP_NOT_PRESENT)
+       if (ret_val == -ENOENT)
                return 0;
 
        if (ret_val)
        ixgbe_setup_kr_speed_x550em(hw, speed);
 
        if (hw->phy.mdio.prtad == MDIO_PRTAD_NONE)
-               return IXGBE_ERR_PHY_ADDR_INVALID;
+               return -EFAULT;
 
        /* Get external PHY SKU id */
        ret_val = hw->phy.ops.read_reg(hw, IXGBE_CS4227_EFUSE_PDF_SKU,
        u16 i, autoneg_status;
 
        if (hw->mac.ops.get_media_type(hw) != ixgbe_media_type_copper)
-               return IXGBE_ERR_CONFIG;
+               return -EIO;
 
        status = ixgbe_check_mac_link_generic(hw, speed, link_up,
                                              link_up_wait_to_complete);
  */
 static void ixgbe_fc_autoneg_sgmii_x550em_a(struct ixgbe_hw *hw)
 {
-       s32 status = IXGBE_ERR_FC_NOT_NEGOTIATED;
        u32 info[FW_PHY_ACT_DATA_COUNT] = { 0 };
        ixgbe_link_speed speed;
+       s32 status = -EIO;
        bool link_up;
 
        /* AN should have completed when the cable was plugged in.
        /* Check if auto-negotiation has completed */
        status = ixgbe_fw_phy_activity(hw, FW_PHY_ACT_GET_LINK_INFO, &info);
        if (status || !(info[0] & FW_PHY_ACT_GET_LINK_INFO_AN_COMPLETE)) {
-               status = IXGBE_ERR_FC_NOT_NEGOTIATED;
+               status = -EIO;
                goto out;
        }
 
        u16 speed;
 
        if (hw->mac.ops.get_media_type(hw) != ixgbe_media_type_copper)
-               return IXGBE_ERR_CONFIG;
+               return -EIO;
 
        if (!(hw->mac.type == ixgbe_mac_X550EM_x &&
              !(hw->phy.nw_mng_if_sel & IXGBE_NW_MNG_IF_SEL_INT_PHY_MODE))) {
                break;
        default:
                /* Internal PHY does not support anything else */
-               return IXGBE_ERR_INVALID_LINK_SETTINGS;
+               return -EINVAL;
        }
 
        return ixgbe_setup_ixfi_x550em(hw, &force_speed);
        u16 phy_data;
 
        if (led_idx >= IXGBE_X557_MAX_LED_INDEX)
-               return IXGBE_ERR_PARAM;
+               return -EINVAL;
 
        /* To turn on the LED, set mode to ON. */
        hw->phy.ops.read_reg(hw, IXGBE_X557_LED_PROVISIONING + led_idx,
        u16 phy_data;
 
        if (led_idx >= IXGBE_X557_MAX_LED_INDEX)
-               return IXGBE_ERR_PARAM;
+               return -EINVAL;
 
        /* To turn on the LED, set mode to ON. */
        hw->phy.ops.read_reg(hw, IXGBE_X557_LED_PROVISIONING + led_idx,
  *
  *  Sends driver version number to firmware through the manageability
  *  block.  On success return 0
- *  else returns IXGBE_ERR_SWFW_SYNC when encountering an error acquiring
- *  semaphore or IXGBE_ERR_HOST_INTERFACE_COMMAND when command fails.
+ *  else returns -EBUSY when encountering an error acquiring
+ *  semaphore, -EIO when command fails or -ENIVAL when incorrect
+ *  params passed.
  **/
 static s32 ixgbe_set_fw_drv_ver_x550(struct ixgbe_hw *hw, u8 maj, u8 min,
                                     u8 build, u8 sub, u16 len,
        int i;
 
        if (!len || !driver_ver || (len > sizeof(fw_cmd.driver_string)))
-               return IXGBE_ERR_INVALID_ARGUMENT;
+               return -EINVAL;
 
        fw_cmd.hdr.cmd = FW_CEM_CMD_DRIVER_INFO;
        fw_cmd.hdr.buf_len = FW_CEM_CMD_DRIVER_INFO_LEN + len;
 
                if (fw_cmd.hdr.cmd_or_resp.ret_status !=
                    FW_CEM_RESP_STATUS_SUCCESS)
-                       return IXGBE_ERR_HOST_INTERFACE_COMMAND;
+                       return -EIO;
                return 0;
        }
 
        /* Validate the requested mode */
        if (hw->fc.strict_ieee && hw->fc.requested_mode == ixgbe_fc_rx_pause) {
                hw_err(hw, "ixgbe_fc_rx_pause not valid in strict IEEE mode\n");
-               return IXGBE_ERR_INVALID_LINK_SETTINGS;
+               return -EINVAL;
        }
 
        /* 10gig parts do not have a word in the EEPROM to determine the
                break;
        default:
                hw_err(hw, "Flow control param set incorrectly\n");
-               return IXGBE_ERR_CONFIG;
+               return -EIO;
        }
 
        switch (hw->device_id) {
 static void ixgbe_fc_autoneg_backplane_x550em_a(struct ixgbe_hw *hw)
 {
        u32 link_s1, lp_an_page_low, an_cntl_1;
-       s32 status = IXGBE_ERR_FC_NOT_NEGOTIATED;
        ixgbe_link_speed speed;
+       s32 status = -EIO;
        bool link_up;
 
        /* AN should have completed when the cable was plugged in.
 
        if (status || (link_s1 & IXGBE_KRM_LINK_S1_MAC_AN_COMPLETE) == 0) {
                hw_dbg(hw, "Auto-Negotiation did not complete\n");
-               status = IXGBE_ERR_FC_NOT_NEGOTIATED;
+               status = -EIO;
                goto out;
        }
 
 
        /* Identify the PHY or SFP module */
        ret_val = phy->ops.identify(hw);
-       if (ret_val == IXGBE_ERR_SFP_NOT_SUPPORTED ||
-           ret_val == IXGBE_ERR_PHY_ADDR_INVALID)
+       if (ret_val == -EOPNOTSUPP || ret_val == -EFAULT)
                return ret_val;
 
        /* Setup function pointers based on detected hardware */
 
        /* PHY ops must be identified and initialized prior to reset */
        status = hw->phy.ops.init(hw);
-       if (status == IXGBE_ERR_SFP_NOT_SUPPORTED ||
-           status == IXGBE_ERR_PHY_ADDR_INVALID)
+       if (status == -EOPNOTSUPP || status == -EFAULT)
                return status;
 
        /* start the external PHY */
                hw->phy.sfp_setup_needed = false;
        }
 
-       if (status == IXGBE_ERR_SFP_NOT_SUPPORTED)
+       if (status == -EOPNOTSUPP)
                return status;
 
        /* Reset PHY */
        status = hw->mac.ops.acquire_swfw_sync(hw, swfw_mask);
        if (status) {
                hw_dbg(hw, "semaphore failed with %d", status);
-               return IXGBE_ERR_SWFW_SYNC;
+               return -EBUSY;
        }
 
        ctrl |= IXGBE_READ_REG(hw, IXGBE_CTRL);
        }
 
        if (ctrl & IXGBE_CTRL_RST_MASK) {
-               status = IXGBE_ERR_RESET_FAILED;
+               status = -EIO;
                hw_dbg(hw, "Reset polling failed to complete.\n");
        }
 
        /* Validate the requested mode */
        if (hw->fc.strict_ieee && hw->fc.requested_mode == ixgbe_fc_rx_pause) {
                hw_err(hw, "ixgbe_fc_rx_pause not valid in strict IEEE mode\n");
-               return IXGBE_ERR_INVALID_LINK_SETTINGS;
+               return -EINVAL;
        }
 
        if (hw->fc.requested_mode == ixgbe_fc_default)
                break;
        default:
                hw_err(hw, "Flow control param set incorrectly\n");
-               return IXGBE_ERR_CONFIG;
+               return -EIO;
        }
 
        status = hw->mac.ops.write_iosf_sb_reg(hw,
                        return 0;
                if (hmask)
                        ixgbe_release_swfw_sync_X540(hw, hmask);
-               if (status != IXGBE_ERR_TOKEN_RETRY)
+               if (status != -EAGAIN)
                        return status;
                msleep(FW_PHY_TOKEN_DELAY);
        }
        s32 status;
 
        if (hw->mac.ops.acquire_swfw_sync(hw, mask))
-               return IXGBE_ERR_SWFW_SYNC;
+               return -EBUSY;
 
        status = hw->phy.ops.read_reg_mdi(hw, reg_addr, device_type, phy_data);
 
        s32 status;
 
        if (hw->mac.ops.acquire_swfw_sync(hw, mask))
-               return IXGBE_ERR_SWFW_SYNC;
+               return -EBUSY;
 
        status = ixgbe_write_phy_reg_mdi(hw, reg_addr, device_type, phy_data);
        hw->mac.ops.release_swfw_sync(hw, mask);