From d6bdbc41f53978ed96b5e5b04c39707bd2a7ea97 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Fri, 25 Apr 2014 07:22:14 -0600 Subject: STM32 dmapreflight method must be conditioned on CONFIG_SDIO_PREFLIGHT. From Pelle Windestam --- nuttx/ChangeLog | 3 +++ nuttx/arch/arm/src/stm32/stm32_sdio.c | 10 +++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'nuttx') diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index 26baa2418..153e6dbad 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -7243,4 +7243,7 @@ driver and lower half interface definition from Bob Doiron (2014-40-22). * arch/z16/src/z16f/z16f_espi.c: Add ZNEO ESPI driver (2014-4-24). + * arch/arm/src/stm32/stm32_sdio.c: The dmaflight method must + be conditioned on CONFIG_SDIO_PREFLIGHT. Noted by Pelle + Windestam (2014-4-25) diff --git a/nuttx/arch/arm/src/stm32/stm32_sdio.c b/nuttx/arch/arm/src/stm32/stm32_sdio.c index 206d4751c..2d1e9e21e 100644 --- a/nuttx/arch/arm/src/stm32/stm32_sdio.c +++ b/nuttx/arch/arm/src/stm32/stm32_sdio.c @@ -453,8 +453,10 @@ static int stm32_registercallback(FAR struct sdio_dev_s *dev, #ifdef CONFIG_SDIO_DMA static bool stm32_dmasupported(FAR struct sdio_dev_s *dev); +#ifdef CONFIG_SDIO_PREFLIGHT static int stm32_dmapreflight(FAR struct sdio_dev_s *dev, FAR const uint8_t *buffer, size_t buflen); +#endif static int stm32_dmarecvsetup(FAR struct sdio_dev_s *dev, FAR uint8_t *buffer, size_t buflen); static int stm32_dmasendsetup(FAR struct sdio_dev_s *dev, @@ -503,7 +505,9 @@ struct stm32_dev_s g_sdiodev = .registercallback = stm32_registercallback, #ifdef CONFIG_SDIO_DMA .dmasupported = stm32_dmasupported, +#ifdef CONFIG_SDIO_PREFLIGHT .dmapreflight = stm32_dmapreflight, +#endif .dmarecvsetup = stm32_dmarecvsetup, .dmasendsetup = stm32_dmasendsetup, #endif @@ -2468,7 +2472,7 @@ static bool stm32_dmasupported(FAR struct sdio_dev_s *dev) * OK on success; a negated errno on failure ****************************************************************************/ -#ifdef CONFIG_SDIO_DMA +#if defined(CONFIG_SDIO_DMA) && defined(CONFIG_SDIO_PREFLIGHT) static int stm32_dmapreflight(FAR struct sdio_dev_s *dev, FAR const uint8_t *buffer, size_t buflen) { @@ -2521,7 +2525,9 @@ static int stm32_dmarecvsetup(FAR struct sdio_dev_s *dev, FAR uint8_t *buffer, uint32_t dblocksize; DEBUGASSERT(priv != NULL && buffer != NULL && buflen > 0); +#ifdef CONFIG_SDIO_PREFLIGHT DEBUGASSERT(stm32_dmapreflight(dev, buffer, buflen) == 0); +#endif /* Reset the DPSM configuration */ @@ -2588,7 +2594,9 @@ static int stm32_dmasendsetup(FAR struct sdio_dev_s *dev, uint32_t dblocksize; DEBUGASSERT(priv != NULL && buffer != NULL && buflen > 0); +#ifdef CONFIG_SDIO_PREFLIGHT DEBUGASSERT(stm32_dmapreflight(dev, buffer, buflen) == 0); +#endif /* Reset the DPSM configuration */ -- cgit v1.2.3