monitor/avctp: Fix parsing of GetElementAttribute
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Fri, 14 Jan 2022 22:02:05 +0000 (14:02 -0800)
committerAyush Garg <ayush.garg@samsung.com>
Mon, 15 May 2023 09:25:53 +0000 (14:55 +0530)
AVRCP byte order is always big endian:

Audio/Video Remote Control / Profile Specification - Page 20:

 'Transfer Octet Order; Packets shall transfer multiple-octet fields in
 standard network octet order (Big Endian), with more significant
 (high-order) octets being transferred before less-significant (low-order)
 octets.'

Signed-off-by: Manika Shrivastava <manika.sh@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
monitor/avctp.c

index 9b78c2b..e9ee0d6 100755 (executable)
@@ -1192,7 +1192,7 @@ static bool avrcp_get_element_attributes(struct avctp_frame *avctp_frame,
        for (; num > 0; num--) {
                uint32_t attr;
 
-               if (!l2cap_frame_get_le32(frame, &attr))
+               if (!l2cap_frame_get_be32(frame, &attr))
                        return false;
 
                print_field("%*cAttributeID: 0x%08x (%s)", (indent - 8),