In the lwIP 1.30 port with SAM7X, there are files:
There is the same variable defined local in both files: xSemaphore
/* The semaphore used by the EMAC ISR to wake the EMAC task. */
static xSemaphoreHandle xSemaphore = NULL;
It seems like this variable is suppose to handle the communication between the ISR and regular code. But since the variable is called out local in both, I don’t quite see how that could happen. Code from either module is going to access different variables.
Is this actually correct? If so I would recommend naming the two variables different to avoid confusion.