Bluetooth: controller: Use define for common ext. header minimum size

Use define for the common extended header format's minimum
length value.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This commit is contained in:
Vinayak Kariappa Chettimada 2021-02-23 19:18:23 +05:30 committed by Carles Cufí
commit 9cb07ab413
5 changed files with 30 additions and 43 deletions

View file

@ -4683,6 +4683,7 @@ static void le_ext_adv_report(struct pdu_data *pdu_data,
struct pdu_adv_ext_hdr *h;
uint8_t sec_phy_curr = 0U;
uint8_t evt_type_curr;
uint8_t hdr_buf_len;
uint8_t hdr_len;
uint8_t *ptr;
@ -4707,8 +4708,7 @@ static void le_ext_adv_report(struct pdu_data *pdu_data,
evt_type_curr = p->adv_mode;
if (!p->ext_hdr_len) {
hdr_len = offsetof(struct pdu_adv_com_ext_adv,
ext_hdr_adv_data);
hdr_len = PDU_AC_EXT_HEADER_SIZE_MIN;
goto no_ext_hdr;
}
@ -4798,24 +4798,18 @@ static void le_ext_adv_report(struct pdu_data *pdu_data,
}
hdr_len = ptr - (uint8_t *)p;
if (hdr_len <= (offsetof(struct pdu_adv_com_ext_adv,
ext_hdr_adv_data) +
if (hdr_len <= (PDU_AC_EXT_HEADER_SIZE_MIN +
sizeof(struct pdu_adv_ext_hdr))) {
hdr_len = offsetof(struct pdu_adv_com_ext_adv,
ext_hdr_adv_data);
hdr_len = PDU_AC_EXT_HEADER_SIZE_MIN;
ptr = (uint8_t *)h;
}
if (hdr_len > (p->ext_hdr_len +
offsetof(struct pdu_adv_com_ext_adv,
ext_hdr_adv_data))) {
hdr_buf_len = PDU_AC_EXT_HEADER_SIZE_MIN + p->ext_hdr_len;
if (hdr_len > hdr_buf_len) {
BT_WARN(" Header length %u/%u, INVALID.", hdr_len,
p->ext_hdr_len);
} else {
uint8_t acad_len = p->ext_hdr_len +
offsetof(struct pdu_adv_com_ext_adv,
ext_hdr_adv_data) -
hdr_len;
uint8_t acad_len = hdr_buf_len - hdr_len;
if (acad_len) {
ptr += acad_len;
@ -5104,6 +5098,7 @@ static void le_per_adv_sync_report(struct pdu_data *pdu_data,
uint8_t *data_curr = NULL;
uint8_t sec_phy_curr = 0U;
struct pdu_adv_ext_hdr *h;
uint8_t hdr_buf_len;
uint8_t hdr_len;
uint8_t *ptr;
@ -5167,24 +5162,18 @@ static void le_per_adv_sync_report(struct pdu_data *pdu_data,
}
hdr_len = ptr - (uint8_t *)p;
if (hdr_len <= (offsetof(struct pdu_adv_com_ext_adv,
ext_hdr_adv_data) +
if (hdr_len <= (PDU_AC_EXT_HEADER_SIZE_MIN +
sizeof(struct pdu_adv_ext_hdr))) {
hdr_len = offsetof(struct pdu_adv_com_ext_adv,
ext_hdr_adv_data);
hdr_len = PDU_AC_EXT_HEADER_SIZE_MIN;
ptr = (uint8_t *)h;
}
if (hdr_len > (p->ext_hdr_len +
offsetof(struct pdu_adv_com_ext_adv,
ext_hdr_adv_data))) {
hdr_buf_len = PDU_AC_EXT_HEADER_SIZE_MIN + p->ext_hdr_len;
if (hdr_len > hdr_buf_len) {
BT_WARN(" Header length %u/%u, INVALID.", hdr_len,
p->ext_hdr_len);
} else {
uint8_t acad_len = p->ext_hdr_len +
offsetof(struct pdu_adv_com_ext_adv,
ext_hdr_adv_data) -
hdr_len;
uint8_t acad_len = hdr_buf_len - hdr_len;
if (acad_len) {
ptr += acad_len;