aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbarthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-04-16 20:14:08 +0000
committerbarthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-04-16 20:14:08 +0000
commit469211b330aaa187de511a8e3963feac1db51053 (patch)
tree0dd226a0d2b492e6d5ca92852ca8db88151c623a
parent671cb8ab9dbbfaf9832f7529fc8966a5d042b6f4 (diff)
downloadChibiOS-469211b330aaa187de511a8e3963feac1db51053.tar.gz
ChibiOS-469211b330aaa187de511a8e3963feac1db51053.tar.bz2
ChibiOS-469211b330aaa187de511a8e3963feac1db51053.zip
SDC. Safety improvements in capacity detection code.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/sdc_dev2@4104 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r--os/hal/src/sdc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/os/hal/src/sdc.c b/os/hal/src/sdc.c
index d883eac39..96c1b4561 100644
--- a/os/hal/src/sdc.c
+++ b/os/hal/src/sdc.c
@@ -340,6 +340,10 @@ bool_t sdcConnect(SDCDriver *sdcp) {
a = _sdc_get_slice(sdcp->csd, SDC_CSD_20_C_SIZE_SLICE);
sdcp->capacity = 1024 * (a + 1);
break;
+ default:
+ /* Reserved value detected. */
+ sdcp->capacity = 0;
+ break;
}
if (sdcp->capacity == 0)
goto failed;