Removing use of undefined TASKS_START behavior

This is a follow up commit to a the same fix in the nRF52. Tested using the bleprph app - but only on an emulator. Seems to be working the same as before. Happy to help testing further!

The problem was that the behavior of the RNG TASKS_START is defined to be write only. Reading from it is undefined and though it might have worked up until now doesn't mean it'll constantly work. I was only able to catch on to this using an emulator.

X-Original-Commit: 0a1569b315ce3d2ef772343cbc30aa4e843b2626
This commit is contained in:
Jonathan Seroussi
2017-10-19 17:04:48 +02:00
committed by Andrzej Kaczmarek
parent 6400747699
commit 0e54407ca9
+4 -6
View File
@@ -340,13 +340,11 @@ ble_hw_rng_start(void)
/* No need for interrupt if there is no callback */
OS_ENTER_CRITICAL(sr);
if (NRF_RNG->TASKS_START == 0) {
NRF_RNG->EVENTS_VALRDY = 0;
if (g_ble_rng_isr_cb) {
NRF_RNG->INTENSET = 1;
}
NRF_RNG->TASKS_START = 1;
NRF_RNG->EVENTS_VALRDY = 0;
if (g_ble_rng_isr_cb) {
NRF_RNG->INTENSET = 1;
}
NRF_RNG->TASKS_START = 1;
OS_EXIT_CRITICAL(sr);
return 0;