Как правило, только один поток должен связываться с ISR.Если несколько потоков обращаются к переменной, используемой совместно с ISR, ваш дизайн неверен и требует исправления.В случае DMA только один поток должен получить доступ к буферу.
Вам нужно будет защитить переменные, совместно используемые этим потоком и ISR - не обязательно с мьютексом / семафором, но, возможно, с чем-то более простым, например, с гарантией атомарногодоступ (лучшее решение, если это возможно), или с помощью непрерываемой возможности, которую имеют многие ISR. Пример для простых однопоточных приложений MCU .В качестве альтернативы просто временно отключите прерывания во время доступа, но это может оказаться невозможным, в зависимости от требований реального времени.