Bugs in lib_tsn

New to XMOS and XCore? Get started here.
lukehatpadl
Junior Member
Posts: 6
Joined: Sat Jul 08, 2023 5:15 am

Bugs in lib_tsn

Post by lukehatpadl »

There's an operator precedence bug in process_aem_cmd_getset_stream_info(). (The following diff cleans up a couple of other things, but the additional parentheses is the only required fix.)

- int flags = AECP_STREAM_INFO_FLAGS_STREAM_VLAN_ID_VALID |
- AECP_STREAM_INFO_FLAGS_STREAM_DESC_MAC_VALID |
- AECP_STREAM_INFO_FLAGS_STREAM_ID_VALID |
- AECP_STREAM_INFO_FLAGS_STREAM_FORMAT_VALID |
- AECP_STREAM_INFO_FLAGS_MSRP_ACC_LAT_VALID |
- reservation->failure_bridge_id[1] ? AECP_STREAM_INFO_FLAGS_MSRP_FAILURE_VALID : 0;
-
- hton_32(cmd->flags, flags);
-
+ uint32_t flags = AECP_STREAM_INFO_FLAGS_STREAM_VLAN_ID_VALID |
+ AECP_STREAM_INFO_FLAGS_STREAM_DESC_MAC_VALID |
+ AECP_STREAM_INFO_FLAGS_STREAM_ID_VALID |
+ AECP_STREAM_INFO_FLAGS_STREAM_FORMAT_VALID |
+ AECP_STREAM_INFO_FLAGS_MSRP_ACC_LAT_VALID |
+ (reservation->failure_bridge_id[1] ? AECP_STREAM_INFO_FLAGS_MSRP_FAILURE_VALID : 0);
+ hton_32(&cmd->flags[0], flags);