bluetooth: audio: Update bad code in BASS to be v1.0.1 compliant
Bad Broadcast Code in BASS/Scan Delegator if BIG_Encryption field value = 0x03 (Bad_Code), Bad_Code shall be set to the value 0xFFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF according to BASS v1.0.1 Signed-off-by: Gudipudi Ramana Kumar <gudipudiramanakumar@gmail.com>
This commit is contained in:
parent
7e6410de2e
commit
aafcd4f851
3 changed files with 6 additions and 5 deletions
|
@ -1372,8 +1372,7 @@ int bt_bap_scan_delegator_set_bis_sync_state(
|
||||||
internal_state->index, src_id);
|
internal_state->index, src_id);
|
||||||
|
|
||||||
if (internal_state->state.encrypt_state == BT_BAP_BIG_ENC_STATE_BAD_CODE) {
|
if (internal_state->state.encrypt_state == BT_BAP_BIG_ENC_STATE_BAD_CODE) {
|
||||||
(void)memcpy(internal_state->state.bad_code,
|
(void)memset(internal_state->state.bad_code, 0xFF,
|
||||||
internal_state->broadcast_code,
|
|
||||||
sizeof(internal_state->state.bad_code));
|
sizeof(internal_state->state.bad_code));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1570,8 +1569,7 @@ int bt_bap_scan_delegator_mod_src(const struct bt_bap_scan_delegator_mod_src_par
|
||||||
state->encrypt_state = param->encrypt_state;
|
state->encrypt_state = param->encrypt_state;
|
||||||
|
|
||||||
if (state->encrypt_state == BT_BAP_BIG_ENC_STATE_BAD_CODE) {
|
if (state->encrypt_state == BT_BAP_BIG_ENC_STATE_BAD_CODE) {
|
||||||
(void)memcpy(state->bad_code, internal_state->broadcast_code,
|
(void)memset(state->bad_code, 0xFF, sizeof(internal_state->state.bad_code));
|
||||||
sizeof(internal_state->state.bad_code));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
state_changed = true;
|
state_changed = true;
|
||||||
|
|
|
@ -142,7 +142,7 @@ static void bap_broadcast_assistant_recv_state_cb(
|
||||||
SET_FLAG(flag_broadcast_code_requested);
|
SET_FLAG(flag_broadcast_code_requested);
|
||||||
} else if (state->encrypt_state == BT_BAP_BIG_ENC_STATE_BAD_CODE) {
|
} else if (state->encrypt_state == BT_BAP_BIG_ENC_STATE_BAD_CODE) {
|
||||||
SET_FLAG(flag_incorrect_broadcast_code);
|
SET_FLAG(flag_incorrect_broadcast_code);
|
||||||
if (memcmp(state->bad_code, INCORRECT_BROADCAST_CODE, BT_ISO_BROADCAST_CODE_SIZE) !=
|
if (memcmp(state->bad_code, BAD_BROADCAST_CODE, BT_ISO_BROADCAST_CODE_SIZE) !=
|
||||||
0) {
|
0) {
|
||||||
FAIL("Bad code is not what we sent\n");
|
FAIL("Bad code is not what we sent\n");
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -48,6 +48,9 @@
|
||||||
#define INCORRECT_BROADCAST_CODE \
|
#define INCORRECT_BROADCAST_CODE \
|
||||||
((uint8_t[]){0xDE, 0xAD, 0xBE, 0xEF, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, \
|
((uint8_t[]){0xDE, 0xAD, 0xBE, 0xEF, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, \
|
||||||
0xdd, 0xee, 0xff})
|
0xdd, 0xee, 0xff})
|
||||||
|
#define BAD_BROADCAST_CODE \
|
||||||
|
((uint8_t[]){0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \
|
||||||
|
0xFF, 0xFF, 0xFF})
|
||||||
|
|
||||||
#define BAP_RETRY_WAIT K_MSEC(100)
|
#define BAP_RETRY_WAIT K_MSEC(100)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue