Hi Luiz, On 3/23/21, 12:00 PM, "Luiz Augusto von Dentz" <luiz.dentz@xxxxxxxxx> wrote: From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> This checks the firmware build number, week and year against the repective loaded version. If details are a match, skip the download process. Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> --- v2: Add patch that mover checks for operational mode after the version checking. v3: Fix not checking for operation mode before using btintel_read_boot_params since some models depend on that to contruct the fw filename. Also attempt to cleanup duplicated code. v4: Fix forwarding -EALREADY when firmware has already been loaded. v5: Fix not advancing fw_ptr. v6: Fix btusb_setup_intel_new_get_fw_name error checking for ddc. v7: Disable version checking for WsP/SfP. v8: Really disables version checking for WsP/SfP. v9: Reintroduce bootloader checks and add workaround for version checking when operation and version cannot be read. v10: Fix build error when BT_CONFIG_INTEL is not set. drivers/bluetooth/btintel.c | 106 +++++++++++++++++++++++++++------- drivers/bluetooth/btintel.h | 5 +- drivers/bluetooth/btusb.c | 18 +++++- drivers/bluetooth/hci_intel.c | 7 ++- 4 files changed, 109 insertions(+), 27 deletions(-) I did a quick check with v10 and all tests passed/expected. Test Scenarios: Cold boot: Expect to download firmware Reboot: Expect no firmware downloading FW upgrade: Expect to detect firmware change and download new firmware. ThP, TyP: All 3 tests passed WsP, SfP: Cold boot, Reboot passed. FW upgrade didn't work due to known issue. Tested-by: Tedd Ho-Jeong An <tedd.an@xxxxxxxxx> Regards, Tedd