pussuw commented on code in PR #6197: URL: https://github.com/apache/incubator-nuttx/pull/6197#discussion_r880436724
########## arch/risc-v/src/esp32c3/esp32c3_wifi_adapter.c: ########## @@ -1339,20 +1340,23 @@ static int IRAM_ATTR wifi_is_in_isr(void) static void *esp_thread_semphr_get(void) { int ret; - int i; void *sem; - struct tcb_s *tcb = this_task(); - struct task_group_s *group = tcb->group; - for (i = 0; i < CONFIG_SCHED_EXIT_MAX; i++) + if (!g_wifi_tkey_init) { - if (group->tg_exit[i].func.on == esp_thread_semphr_free) + ret = tls_alloc(NULL); + if (ret < 0) { - break; + wlerr("Failed to create pthread key\n"); + return NULL; } + + g_wifi_thread_key = ret; + g_wifi_tkey_init = true; } - if (i >= CONFIG_SCHED_EXIT_MAX) + sem = (void *)tls_get_value(g_wifi_thread_key); Review Comment: And yes, I would MUCH RATHER have someone who understands what the driver does fix this or tell me explicitly how to fix the old implementation, I have no way of testing this so whatever I do very likely does not work out of the box. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org