ble_mesh: Transport tx fields overflow [Zephyr]

The transport segmented TX nack and seg_pending fields must be at least
6 bits to avoid overflow for 32 segment messages. This change rearranges
the seg_tx fields to gather all state flag fields in one byte, while
making the counter fields whole bytes.
This commit is contained in:
lly 2020-05-26 11:42:10 +08:00
parent b381998a23
commit 822b20eb40

View file

@ -80,8 +80,8 @@ static struct seg_tx {
new_key:1; /* New/old key */
u8_t nack_count; /* Number of unacked segs */
u8_t ttl;
u8_t seg_pending:5, /* Number of segments pending */
attempts:3;
u8_t seg_pending; /* Number of segments pending */
u8_t attempts; /* Transmit attempts */
const struct bt_mesh_send_cb *cb;
void *cb_data;
struct k_delayed_work retransmit; /* Retransmit timer */