From a8ea499b27805ce5fa109f64cfff073c9b077f3b Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 8 May 2011 05:58:29 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2927 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/platforms/STM32/sdc_lld.c | 9 +++++---- os/hal/src/sdc.c | 1 - 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'os/hal') diff --git a/os/hal/platforms/STM32/sdc_lld.c b/os/hal/platforms/STM32/sdc_lld.c index 1697c2964..8afb41509 100644 --- a/os/hal/platforms/STM32/sdc_lld.c +++ b/os/hal/platforms/STM32/sdc_lld.c @@ -344,7 +344,7 @@ bool_t sdc_lld_read(SDCDriver *sdcp, uint32_t startblk, SDIO->ICR = 0xFFFFFFFF; SDIO->MASK = SDIO_MASK_DCRCFAILIE | SDIO_MASK_DTIMEOUTIE | SDIO_MASK_DATAENDIE | SDIO_MASK_STBITERRIE; - SDIO->DLEN = n; + SDIO->DLEN = n * SDC_BLOCK_SIZE; SDIO->DCTRL = SDIO_DCTRL_RWMOD | SDIO_DCTRL_DBLOCKSIZE_3 | SDIO_DCTRL_DBLOCKSIZE_3 | SDIO_DCTRL_DMAEN | @@ -353,14 +353,15 @@ bool_t sdc_lld_read(SDCDriver *sdcp, uint32_t startblk, /* DMA channel activation.*/ dmaEnableChannel(STM32_DMA2, STM32_DMA_CHANNEL_4); - if (sdc_lld_send_cmd_short_crc(sdcp, SDC_CMD_READ_MULTIPLE_BLOCK, n, resp) || + if (sdc_lld_send_cmd_short_crc(sdcp, SDC_CMD_READ_MULTIPLE_BLOCK, + startblk, resp) || (resp[0] & SDC_R1_ERROR_MASK)) goto error; chSysLock(); sta = SDIO->STA; - if ((sta & SDIO_STA_DCRCFAIL | SDIO_STA_DTIMEOUT | - SDIO_STA_DATAEND | SDIO_STA_STBITERR) == 0) { + if ((sta & (SDIO_STA_DCRCFAIL | SDIO_STA_DTIMEOUT | + SDIO_STA_DATAEND | SDIO_STA_STBITERR)) == 0) { chDbgAssert(sdcp->thread == NULL, "sdc_lld_read_blocks(), #1", "not NULL"); sdcp->thread = chThdSelf(); chSchGoSleepS(THD_STATE_SUSPENDED); diff --git a/os/hal/src/sdc.c b/os/hal/src/sdc.c index 25fe6a259..3af421254 100644 --- a/os/hal/src/sdc.c +++ b/os/hal/src/sdc.c @@ -268,7 +268,6 @@ bool_t sdcDisconnect(SDCDriver *sdcp) { bool_t sdcRead(SDCDriver *sdcp, uint32_t startblk, uint8_t *buf, uint32_t n) { bool_t sts; - uint32_t resp[4]; chDbgCheck((sdcp != NULL) && (buf != NULL) && (n > 0), "sdcRead"); -- cgit v1.2.3