diff --git a/IntelBluetoothFirmware/IntelBluetoothOpsGen2.cpp b/IntelBluetoothFirmware/IntelBluetoothOpsGen2.cpp index dceea06..f1b93a2 100644 --- a/IntelBluetoothFirmware/IntelBluetoothOpsGen2.cpp +++ b/IntelBluetoothFirmware/IntelBluetoothOpsGen2.cpp @@ -268,9 +268,6 @@ downloadFirmwareData(IntelVersion *ver, OSData *fwData, uint32_t *bootParams) /* Skip version checking */ break; default: - /* Skip reading firmware file version in bootloader mode */ - if (ver->fw_variant == 0x06) - break; /* Skip download if firmware has the same version */ if (firmwareVersion(ver->fw_build_num, @@ -427,9 +424,10 @@ firmwareVersion(uint8_t num, uint8_t ww, uint8_t yy, OSData *fwData, uint32_t *b struct cmd_write_boot_params *params; params = (struct cmd_write_boot_params *)(fw_ptr + sizeof(*cmd)); - - XYLog("Boot Address: 0x%x\n", - OSSwapLittleToHostConstInt32(params->boot_addr)); + + *bootAddr = OSSwapLittleToHostConstInt32(params->boot_addr); + + XYLog("Boot Address: 0x%x\n", *bootAddr); XYLog("Firmware Version: %u-%u.%u\n", params->fw_build_num, params->fw_build_ww, diff --git a/IntelBluetoothFirmware/IntelBluetoothOpsGen3.cpp b/IntelBluetoothFirmware/IntelBluetoothOpsGen3.cpp index e2d1567..673a1c8 100644 --- a/IntelBluetoothFirmware/IntelBluetoothOpsGen3.cpp +++ b/IntelBluetoothFirmware/IntelBluetoothOpsGen3.cpp @@ -204,20 +204,17 @@ IOReturn IntelBluetoothOpsGen3:: downloadFirmwareData(IntelVersionTLV *ver, OSData *fwData, uint32_t *bootParams, uint8_t hwVariant, uint8_t sbeType) { uint32_t cssHeaderVer; - - /* Skip reading firmware file version in bootloader mode */ - if (ver->img_type != 0x01) { - /* Skip download if firmware has the same version */ - if (firmwareVersion(ver->min_fw_build_nn, - ver->min_fw_build_cw, - ver->min_fw_build_yy, - fwData, bootParams)) { - XYLog("Firmware already loaded\n"); - /* Return -EALREADY to indicate that firmware has - * already been loaded. - */ - return -EALREADY; - } + + /* Skip download if firmware has the same version */ + if (firmwareVersion(ver->min_fw_build_nn, + ver->min_fw_build_cw, + ver->min_fw_build_yy, + fwData, bootParams)) { + XYLog("Firmware already loaded\n"); + /* Return -EALREADY to indicate that firmware has + * already been loaded. + */ + return -EALREADY; } /* The firmware variant determines if the device is in bootloader