summaryrefslogtreecommitdiff
path: root/nuttx
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-04-25 07:22:14 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-04-25 07:22:14 -0600
commitd6bdbc41f53978ed96b5e5b04c39707bd2a7ea97 (patch)
treec394c0c213d004c023c5e51aa58161acba6443f6 /nuttx
parent782f0182d4b4e06f7fae8811dd2dbd9b3ac3600e (diff)
downloadpx4-nuttx-d6bdbc41f53978ed96b5e5b04c39707bd2a7ea97.tar.gz
px4-nuttx-d6bdbc41f53978ed96b5e5b04c39707bd2a7ea97.tar.bz2
px4-nuttx-d6bdbc41f53978ed96b5e5b04c39707bd2a7ea97.zip
STM32 dmapreflight method must be conditioned on CONFIG_SDIO_PREFLIGHT. From Pelle Windestam
Diffstat (limited to 'nuttx')
-rw-r--r--nuttx/ChangeLog3
-rw-r--r--nuttx/arch/arm/src/stm32/stm32_sdio.c10
2 files changed, 12 insertions, 1 deletions
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 */