summaryrefslogtreecommitdiff
path: root/src/audio/fatfs_audio_input.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-10-05 14:23:48 +1100
committerjacqueline <me@jacqueline.id.au>2023-10-05 14:23:48 +1100
commitbf1fc5a2a0f408a8d8a54d4329257a10d077c4fb (patch)
tree638a50ff5aa05e5d3f01ffba77214fe4fc4b531e /src/audio/fatfs_audio_input.cpp
parentee8e5234562c2b9ee1bb261785135abd4f718f83 (diff)
downloadtangara-fw-bf1fc5a2a0f408a8d8a54d4329257a10d077c4fb.tar.gz
Guard audio pipeline file accesses
Diffstat (limited to 'src/audio/fatfs_audio_input.cpp')
-rw-r--r--src/audio/fatfs_audio_input.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/audio/fatfs_audio_input.cpp b/src/audio/fatfs_audio_input.cpp
index 54630a98..3cd75606 100644
--- a/src/audio/fatfs_audio_input.cpp
+++ b/src/audio/fatfs_audio_input.cpp
@@ -32,6 +32,7 @@
#include "event_queue.hpp"
#include "fatfs_source.hpp"
#include "future_fetcher.hpp"
+#include "spi.hpp"
#include "tag_parser.hpp"
#include "tasks.hpp"
#include "track.hpp"
@@ -127,7 +128,13 @@ auto FatfsAudioInput::OpenFile(const std::pmr::string& path) -> bool {
}
std::unique_ptr<FIL> file = std::make_unique<FIL>();
- FRESULT res = f_open(file.get(), path.c_str(), FA_READ);
+ FRESULT res;
+
+ {
+ auto lock = drivers::acquire_spi();
+ res = f_open(file.get(), path.c_str(), FA_READ);
+ }
+
if (res != FR_OK) {
ESP_LOGE(kTag, "failed to open file! res: %i", res);
return false;