component/bt: Fix BTU task watchdog timeout after pair with iphone (backport 3.1)

A cherry-pick of MR !3366

Create a new pending queue, then re-submit pending requests in old pending queue,preventing new events being inserted into it.

Closes https://github.com/espressif/esp-idf/issues/2191
This commit is contained in:
baohongde 2018-09-28 11:04:44 +08:00
parent 773d282d71
commit de0a323bef

View file

@ -2761,9 +2761,9 @@ void btm_sec_check_pending_reqs (void)
/* Now, re-submit anything in the mux queue */
bq = btm_cb.sec_pending_q;
if (!btm_cb.sec_pending_q) {
btm_cb.sec_pending_q = fixed_queue_new(QUEUE_SIZE_MAX);
}
btm_cb.sec_pending_q = fixed_queue_new(QUEUE_SIZE_MAX);
while ((p_e = (tBTM_SEC_QUEUE_ENTRY *)fixed_queue_try_dequeue(bq)) != NULL) {
/* Check that the ACL is still up before starting security procedures */
@ -2784,6 +2784,7 @@ void btm_sec_check_pending_reqs (void)
osi_free (p_e);
}
fixed_queue_free(bq, NULL);
}
}
#endif ///SMP_INCLUDED == TRUE