nimble/ll: Fix controller to host flow
We should not attempt to allocate credit for data PDU in case of CRC
error because such PDU will not be handed over to LL thus we will never
get that credit back.
@@ -3808,7 +3808,7 @@ ble_ll_conn_rx_isr_end(uint8_t *rxbuf, struct ble_mbuf_hdr *rxhdr)
* available, we don't need to allocate buffer for this packet so LL will
* nak it.
*/
- if (ble_ll_conn_cth_flow_is_enabled() &&
+ if (alloc_rxpdu && ble_ll_conn_cth_flow_is_enabled() &&
BLE_LL_LLID_IS_DATA(hdr_byte) && (rx_pyld_len > 0)) {
if (ble_ll_conn_cth_flow_alloc_credit(connsm)) {
rxhdr->rxinfo.flags |= BLE_MBUF_HDR_F_CONN_CREDIT;
