diff --git a/src/shared/drivers/dma/DMA.cpp b/src/shared/drivers/dma/DMA.cpp
index 653401f22d0e75ff66050efcd805ec9c82809318..5ee1dc1316394989fc6a69ff6cf9a07cdf1fb861 100644
--- a/src/shared/drivers/dma/DMA.cpp
+++ b/src/shared/drivers/dma/DMA.cpp
@@ -42,7 +42,8 @@ void __attribute__((used)) DMA1_Stream0_IRQImpl()
         Boardcore::DMAStreamId::DMA1_Str0);
 }
 
-// Commented because already used elsewhere by miosix
+// TODO: decide how to handle this situation
+// Commented because already defined elsewhere by miosix
 // void __attribute__((naked)) DMA1_Stream1_IRQHandler()
 // {
 //     saveContext();
@@ -51,7 +52,8 @@ void __attribute__((used)) DMA1_Stream0_IRQImpl()
 // }
 // void __attribute__((used)) DMA1_Stream1_IRQImpl()
 // {
-//     Boardcore::DMADriver::instance().IRQhandleInterrupt(Boardcore::DMAStreamId::DMA1_Str1);
+//     Boardcore::DMADriver::instance().IRQhandleInterrupt(
+//         Boardcore::DMAStreamId::DMA1_Str1);
 // }
 
 void __attribute__((naked)) DMA1_Stream2_IRQHandler()
@@ -67,7 +69,8 @@ void __attribute__((used)) DMA1_Stream2_IRQImpl()
         Boardcore::DMAStreamId::DMA1_Str2);
 }
 
-// Commented because already used elsewhere by miosix
+// TODO: decide how to handle this situation
+// Commented because already defined elsewhere by miosix
 // void __attribute__((naked)) DMA1_Stream3_IRQHandler()
 // {
 //     saveContext();
@@ -76,7 +79,8 @@ void __attribute__((used)) DMA1_Stream2_IRQImpl()
 // }
 // void __attribute__((used)) DMA1_Stream3_IRQImpl()
 // {
-//     Boardcore::DMADriver::instance().IRQhandleInterrupt(Boardcore::DMAStreamId::DMA1_Str3);
+//     Boardcore::DMADriver::instance().IRQhandleInterrupt(
+//         Boardcore::DMAStreamId::DMA1_Str3);
 // }
 
 void __attribute__((naked)) DMA1_Stream4_IRQHandler()
@@ -170,14 +174,19 @@ void __attribute__((used)) DMA2_Stream2_IRQImpl()
         Boardcore::DMAStreamId::DMA2_Str2);
 }
 
-// void __attribute__((naked)) DMA2_Stream3_IRQHandler() {
+// TODO: decide how to handle this situation
+// Commented because already defined elsewhere by miosix
+// void __attribute__((naked)) DMA2_Stream3_IRQHandler()
+// {
 //     saveContext();
 //     asm volatile("bl _Z20DMA2_Stream3_IRQImplv");
 //     restoreContext();
 // }
 
-// void __attribute__((used)) DMA2_Stream3_IRQImpl() {
-//     DMADriver::instance().IRQhandleInterrupt(DMAStreamId::DMA2_Str3);
+// void __attribute__((used)) DMA2_Stream3_IRQImpl()
+// {
+//     Boardcore::DMADriver::instance().IRQhandleInterrupt(
+//         Boardcore::DMAStreamId::DMA2_Str3);
 // }
 
 void __attribute__((naked)) DMA2_Stream4_IRQHandler()
@@ -193,15 +202,18 @@ void __attribute__((used)) DMA2_Stream4_IRQImpl()
         Boardcore::DMAStreamId::DMA2_Str4);
 }
 
-// void __attribute__((naked)) DMA2_Stream5_IRQHandler() {
-//     saveContext();
-//     asm volatile("bl _Z20DMA2_Stream5_IRQImplv");
-//     restoreContext();
-// }
+void __attribute__((naked)) DMA2_Stream5_IRQHandler()
+{
+    saveContext();
+    asm volatile("bl _Z20DMA2_Stream5_IRQImplv");
+    restoreContext();
+}
 
-// void __attribute__((used)) DMA2_Stream5_IRQImpl() {
-//     DMADriver::instance().IRQhandleInterrupt(DMAStreamId::DMA2_Str5);
-// }
+void __attribute__((used)) DMA2_Stream5_IRQImpl()
+{
+    Boardcore::DMADriver::instance().IRQhandleInterrupt(
+        Boardcore::DMAStreamId::DMA2_Str5);
+}
 
 void __attribute__((naked)) DMA2_Stream6_IRQHandler()
 {
@@ -216,15 +228,18 @@ void __attribute__((used)) DMA2_Stream6_IRQImpl()
         Boardcore::DMAStreamId::DMA2_Str6);
 }
 
-// void __attribute__((naked)) DMA2_Stream7_IRQHandler() {
-//     saveContext();
-//     asm volatile("bl _Z20DMA2_Stream7_IRQImplv");
-//     restoreContext();
-// }
+void __attribute__((naked)) DMA2_Stream7_IRQHandler()
+{
+    saveContext();
+    asm volatile("bl _Z20DMA2_Stream7_IRQImplv");
+    restoreContext();
+}
 
-// void __attribute__((used)) DMA2_Stream7_IRQImpl() {
-//     DMADriver::instance().IRQhandleInterrupt(DMAStreamId::DMA2_Str7);
-// }
+void __attribute__((used)) DMA2_Stream7_IRQImpl()
+{
+    Boardcore::DMADriver::instance().IRQhandleInterrupt(
+        Boardcore::DMAStreamId::DMA2_Str7);
+}
 
 namespace Boardcore
 {
diff --git a/src/shared/drivers/dma/DMA.h b/src/shared/drivers/dma/DMA.h
index a0262f0e7713a1f7f01fe8f8c50d4ecbfcd18913..e36a70d900d787f0642f00ce55c398aa2737b2cd 100644
--- a/src/shared/drivers/dma/DMA.h
+++ b/src/shared/drivers/dma/DMA.h
@@ -44,10 +44,15 @@ namespace Boardcore
 
 enum class DMAStreamId : uint8_t
 {
+    // TODO: some streams are commented because the
+    // corresponding irq handler is already defined
+    // by miosix. For now those streams are not usable,
+    // decide how to handle this situation.
+
     DMA1_Str0 = 0,
-    DMA1_Str1 = 1,
+    // DMA1_Str1 = 1,
     DMA1_Str2 = 2,
-    DMA1_Str3 = 3,
+    // DMA1_Str3 = 3,
     DMA1_Str4 = 4,
     DMA1_Str5 = 5,
     DMA1_Str6 = 6,
@@ -55,7 +60,7 @@ enum class DMAStreamId : uint8_t
     DMA2_Str0 = 8,
     DMA2_Str1 = 9,
     DMA2_Str2 = 10,
-    DMA2_Str3 = 11,
+    // DMA2_Str3 = 11,
     DMA2_Str4 = 12,
     DMA2_Str5 = 13,
     DMA2_Str6 = 14,