Bluetooth: btintel: Print firmware SHA1
authorKiran K <kiran.k@intel.com>
Mon, 27 Nov 2023 04:42:02 +0000 (10:12 +0530)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Fri, 22 Dec 2023 17:55:56 +0000 (12:55 -0500)
Intel Read Version event contains a TLV(0x32) having firmware sha1 in
operational image.

Signed-off-by: Kiran K <kiran.k@intel.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
drivers/bluetooth/btintel.c
drivers/bluetooth/btintel.h

index 2462796a512a5ffc33c8648d463b3e5d1fa25ac9..cdc5c08824a0ad531976202167869b3b98004c93 100644 (file)
@@ -535,6 +535,8 @@ static int btintel_version_info_tlv(struct hci_dev *hdev,
        bt_dev_info(hdev, "%s timestamp %u.%u buildtype %u build %u", variant,
                    2000 + (version->timestamp >> 8), version->timestamp & 0xff,
                    version->build_type, version->build_num);
+       if (version->img_type == 0x03)
+               bt_dev_info(hdev, "Firmware SHA1: 0x%8.8x", version->git_sha1);
 
        return 0;
 }
@@ -630,6 +632,9 @@ static int btintel_parse_version_tlv(struct hci_dev *hdev,
                        memcpy(&version->otp_bd_addr, tlv->val,
                                                        sizeof(bdaddr_t));
                        break;
+               case INTEL_TLV_GIT_SHA1:
+                       version->git_sha1 = get_unaligned_le32(tlv->val);
+                       break;
                default:
                        /* Ignore rest of information */
                        break;
index 3a2d5b4219ddb53c795d9f5dfe8e7e1b9a62d909..d19fcdb9ff0b63ab71d54c77943b72071ba28532 100644 (file)
@@ -41,7 +41,8 @@ enum {
        INTEL_TLV_LIMITED_CCE,
        INTEL_TLV_SBE_TYPE,
        INTEL_TLV_OTP_BDADDR,
-       INTEL_TLV_UNLOCKED_STATE
+       INTEL_TLV_UNLOCKED_STATE,
+       INTEL_TLV_GIT_SHA1
 };
 
 struct intel_tlv {
@@ -69,6 +70,7 @@ struct intel_version_tlv {
        u8      min_fw_build_yy;
        u8      limited_cce;
        u8      sbe_type;
+       u32     git_sha1;
        bdaddr_t otp_bd_addr;
 };