diff --git a/demos/ARMCM3-STM32F103/.project b/demos/ARMCM3-STM32F103/.project
index c32eaeafc..35116e95f 100644
--- a/demos/ARMCM3-STM32F103/.project
+++ b/demos/ARMCM3-STM32F103/.project
@@ -1,43 +1,95 @@
-
-
- ARMCM3-STM32F103
-
-
-
-
-
- org.eclipse.cdt.managedbuilder.core.genmakebuilder
- clean,full,incremental,
-
-
-
-
- org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
- full,incremental,
-
-
-
-
-
- org.eclipse.cdt.core.cnature
- org.eclipse.cdt.managedbuilder.core.managedBuildNature
- org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
-
-
-
- board
- 2
- CHIBIOS/boards/OLIMEX_STM32_P103
-
-
- os
- 2
- CHIBIOS/os
-
-
- test
- 2
- CHIBIOS/test
-
-
-
+
+
+ ARMCM3-STM32F103
+
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.genmakebuilder
+ clean,full,incremental,
+
+
+ ?name?
+
+
+
+ org.eclipse.cdt.make.core.append_environment
+ true
+
+
+ org.eclipse.cdt.make.core.autoBuildTarget
+ all
+
+
+ org.eclipse.cdt.make.core.buildArguments
+ -j1
+
+
+ org.eclipse.cdt.make.core.buildCommand
+ make
+
+
+ org.eclipse.cdt.make.core.cleanBuildTarget
+ clean
+
+
+ org.eclipse.cdt.make.core.contents
+ org.eclipse.cdt.make.core.activeConfigSettings
+
+
+ org.eclipse.cdt.make.core.enableAutoBuild
+ false
+
+
+ org.eclipse.cdt.make.core.enableCleanBuild
+ true
+
+
+ org.eclipse.cdt.make.core.enableFullBuild
+ true
+
+
+ org.eclipse.cdt.make.core.fullBuildTarget
+ all
+
+
+ org.eclipse.cdt.make.core.stopOnError
+ true
+
+
+ org.eclipse.cdt.make.core.useDefaultBuildCmd
+ true
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
+ full,incremental,
+
+
+
+
+
+ org.eclipse.cdt.core.cnature
+ org.eclipse.cdt.managedbuilder.core.managedBuildNature
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
+
+
+
+ board
+ 2
+ CHIBIOS/boards/OLIMEX_STM32_P103
+
+
+ os
+ 2
+ CHIBIOS/os
+
+
+ test
+ 2
+ CHIBIOS/test
+
+
+
diff --git a/os/hal/platforms/STM32/can_lld.c b/os/hal/platforms/STM32/can_lld.c
index 76a50f460..7dab31faf 100644
--- a/os/hal/platforms/STM32/can_lld.c
+++ b/os/hal/platforms/STM32/can_lld.c
@@ -212,6 +212,7 @@ static void can_lld_sce_handler(CANDriver *canp) {
msr = canp->can->MSR;
canp->can->MSR = CAN_MSR_ERRI | CAN_MSR_WKUI | CAN_MSR_SLAKI;
/* Wakeup event.*/
+#if CAN_USE_SLEEP_MODE
if (msr & CAN_MSR_WKUI) {
canp->state = CAN_READY;
canp->can->MCR &= ~CAN_MCR_SLEEP;
@@ -219,6 +220,7 @@ static void can_lld_sce_handler(CANDriver *canp) {
chEvtBroadcastI(&canp->wakeup_event);
chSysUnlockFromIsr();
}
+#endif /* CAN_USE_SLEEP_MODE */
/* Error event.*/
if (msr & CAN_MSR_ERRI) {
flagsmask_t flags;
diff --git a/readme.txt b/readme.txt
index 809ba0839..08d5c68f7 100644
--- a/readme.txt
+++ b/readme.txt
@@ -87,6 +87,7 @@
*** 2.5.2 ***
- FIX: Fixed surprising non-CRLF lines in source (bug 3607380).
+- FIX: Fixed CAN_USE_SLEEP_MODE compilation problem (bug 3606616).
- FIX: Fixed missing HSE bypass option for STM32F103 (bug 3606274).
- FIX: Fixed misplaced brace in icu_lld.c (bug 3605832)(backported to 2.4.4).
- FIX: Fixed errors in MMC_SPI driver state machine (bug 3605794).