Skip to content

Commit 8ca58f8

Browse files
committed
Bluetooth: Controller: nRF51x: Fix regression in encrypted connection
Fix regression in encrypted connection introduced in commit f3deccd ("Bluetooth: Controller: CCM read data to early when DF enabled on PHY 1M"). Due to this nRF51x SoC hang waiting to encrypt and/or check MIC. Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
1 parent 770a1e7 commit 8ca58f8

File tree

1 file changed

+6
-3
lines changed
  • subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio

1 file changed

+6
-3
lines changed

subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1861,10 +1861,8 @@ static void *radio_ccm_ext_rx_pkt_set(struct ccm *cnf, uint8_t phy, uint8_t pdu_
18611861
#endif /* CONFIG_HAS_HW_NRF_RADIO_BLE_CODED */
18621862
#endif /* CONFIG_BT_CTLR_PHY_CODED */
18631863
}
1864-
#endif /* !CONFIG_SOC_SERIES_NRF51X */
18651864

1866-
#if !defined(CONFIG_SOC_SERIES_NRF51X) && \
1867-
!defined(CONFIG_SOC_NRF52832) && \
1865+
#if !defined(CONFIG_SOC_NRF52832) && \
18681866
(!defined(CONFIG_BT_CTLR_DATA_LENGTH_MAX) || \
18691867
(CONFIG_BT_CTLR_DATA_LENGTH_MAX < ((HAL_RADIO_PDU_LEN_MAX) - 4U)))
18701868
uint8_t max_len = (NRF_RADIO->PCNF1 & RADIO_PCNF1_MAXLEN_Msk) >>
@@ -1889,6 +1887,11 @@ static void *radio_ccm_ext_rx_pkt_set(struct ccm *cnf, uint8_t phy, uint8_t pdu_
18891887
}
18901888
#endif /* CONFIG_HAS_HW_NRF_CCM_HEADERMASK */
18911889

1890+
#else /* CONFIG_SOC_SERIES_NRF51X */
1891+
hal_trigger_crypt_ppi_config();
1892+
hal_radio_nrf_ppi_channels_enable(BIT(HAL_TRIGGER_CRYPT_PPI));
1893+
#endif /* CONFIG_SOC_SERIES_NRF51X */
1894+
18921895
NRF_CCM->MODE = mode;
18931896
NRF_CCM->CNFPTR = (uint32_t)cnf;
18941897
NRF_CCM->INPTR = (uint32_t)_pkt_scratch;

0 commit comments

Comments
 (0)