summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKinsey Moore <kinsey.moore@oarcorp.com>2024-02-16 12:42:47 -0600
committerJoel Sherrill <joel@rtems.org>2024-03-05 08:50:46 -0600
commitbeb423ba5b96026af25d42672b817c6cebc7f619 (patch)
treeb5cfb54356caa51cfcffedf90d4b9a18042cee9b
parentrtemsbsd/rtems: Don't leak memory on error (diff)
downloadrtems-libbsd-beb423ba5b96026af25d42672b817c6cebc7f619.tar.bz2
freebsd/mmcsd: Disable on-device cache usage
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.
-rw-r--r--freebsd/sys/dev/mmc/mmcsd.c6
1 files changed, 6 insertions, 0 deletions
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