Description
It is not clear why the fix in pr #4387 prevents i2c_driver_delete()
from interfering with wifi. Rather than continue to discuss that in a closed PR, I'm opening a new issue about this for further discussion.
@dhalbert I think we can get the idf patch in v4.3 since its a pre-release at the moment.
I agree, it would be good to PR upstream, but I am still somewhat bothered by the whole thing because I don't see why the IDF fix works. I did some more experiments yesterday and re-read a bunch of our code and their code. I came to no new conclusion. I haven't gotten feedback from igrr about it. Also I inquired with FreeRTOS: https://forums.freertos.org/t/vsemaphoredelete-immediately-after-xsemaphoretake/11956.
Ideally I would like to reproduce this in a simple ESP-IDF program, because they might ask for a test case, but I don't have any experience writing one. I could submit a PR and see what happens, but the fix seems a bit superstitious. There are other examples of Take
followed by Delete
in the ESP-IDF, mostly in test code. There are also a couple of examples of Take
-Give
-Delete
. Do you have an intuition about this?
Originally posted by @dhalbert in #4387 (comment)