This disables any usage of the on-device R/W cache since all device
cache maintenance functions are compiled out under RTEMS leaving no way
to flush the cache before system reset and making data loss possible.
---
 freebsd/sys/dev/mmc/mmcsd.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/freebsd/sys/dev/mmc/mmcsd.c b/freebsd/sys/dev/mmc/mmcsd.c
index 11cf945f..ff517abc 100644
--- a/freebsd/sys/dev/mmc/mmcsd.c
+++ b/freebsd/sys/dev/mmc/mmcsd.c
@@ -546,6 +546,11 @@ mmcsd_attach(device_t dev)
         */
        rev = ext_csd[EXT_CSD_REV];
 
+/*
+ * Cache flush functions are currently not available. Use of on-device cache 
can
+ * cause data loss.
+ */
+#ifndef __rtems__
        /*
         * With revision 1.5 (MMC v4.5, EXT_CSD_REV == 6) and later, take
         * advantage of the device R/W cache if present and useage is not
@@ -567,6 +572,7 @@ mmcsd_attach(device_t dev)
                                sc->flags |= MMCSD_FLUSH_CACHE;
                }
        }
+#endif
 
        /*
         * Ignore user-creatable enhanced user data area and general purpose
-- 
2.39.2

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to