diff options
| author | Lokendra Singh <[email protected]> | 2021-03-23 11:59:03 -0700 |
|---|---|---|
| committer | Marcel Holtmann <[email protected]> | 2021-03-25 16:11:06 +0100 |
| commit | 88981354730ce118a76aa030d19fd1308cd2007b (patch) | |
| tree | a90c3fb0f31b7950aa18aec1dc10b61aa73db98f | |
| parent | 7de3a42cdc701f4fb09bb4906d69f4014db4af09 (diff) | |
Bluetooth: btintel: Collect tlv based active firmware build info in FW mode
In Operational firmware mode, 'Minimum FW version' TLV ID is not available.
So, we cannot fetch already running firmware info for comparison against
another build. However, It can be collected using a combination of other
TLV ID's information.
Signed-off-by: Lokendra Singh <[email protected]>
Signed-off-by: Luiz Augusto von Dentz <[email protected]>
Tested-by: Tedd Ho-Jeong An <[email protected]>
Signed-off-by: Marcel Holtmann <[email protected]>
| -rw-r--r-- | drivers/bluetooth/btintel.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c index 4ddbf895c382..6442acba76d1 100644 --- a/drivers/bluetooth/btintel.c +++ b/drivers/bluetooth/btintel.c @@ -537,12 +537,23 @@ int btintel_read_version_tlv(struct hci_dev *hdev, struct intel_version_tlv *ver version->img_type = tlv->val[0]; break; case INTEL_TLV_TIME_STAMP: + /* If image type is Operational firmware (0x03), then + * running FW Calendar Week and Year information can + * be extracted from Timestamp information + */ + version->min_fw_build_cw = tlv->val[0]; + version->min_fw_build_yy = tlv->val[1]; version->timestamp = get_unaligned_le16(tlv->val); break; case INTEL_TLV_BUILD_TYPE: version->build_type = tlv->val[0]; break; case INTEL_TLV_BUILD_NUM: + /* If image type is Operational firmware (0x03), then + * running FW build number can be extracted from the + * Build information + */ + version->min_fw_build_nn = tlv->val[0]; version->build_num = get_unaligned_le32(tlv->val); break; case INTEL_TLV_SECURE_BOOT: |