/* 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 (btintel_firmware_version(hdev, ver->fw_build_num,
                                             ver->fw_build_ww, ver->fw_build_yy,
        int err;
        u32 css_header_ver;
 
-       /* Skip download if firmware has the same version */
-       if (btintel_firmware_version(hdev, ver->min_fw_build_nn,
-                                    ver->min_fw_build_cw, ver->min_fw_build_yy,
-                                    fw, boot_param)) {
-               bt_dev_info(hdev, "Firmware already loaded");
-               /* Return -EALREADY to indicate that firmware has already been
-                * loaded.
-                */
-               return -EALREADY;
+       /* Skip reading firmware file version in bootloader mode */
+       if (ver->img_type != 0x01) {
+               /* Skip download if firmware has the same version */
+               if (btintel_firmware_version(hdev, ver->min_fw_build_nn,
+                                            ver->min_fw_build_cw,
+                                            ver->min_fw_build_yy,
+                                            fw, boot_param)) {
+                       bt_dev_info(hdev, "Firmware already loaded");
+                       /* Return -EALREADY to indicate that firmware has
+                        * already been loaded.
+                        */
+                       return -EALREADY;
+               }
        }
 
        /* The firmware variant determines if the device is in bootloader