summaryrefslogtreecommitdiff
path: root/nuttx/arch
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-08-27 22:27:03 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-08-27 22:27:03 +0000
commit814f5dab600d19ffe043363814503c113549e221 (patch)
tree76501790a65b05b368adffe412411bb5a7435e96 /nuttx/arch
parent645bd0a83bed8cc38fbf8fdd51f72217c69d9e5f (diff)
downloadpx4-nuttx-814f5dab600d19ffe043363814503c113549e221.tar.gz
px4-nuttx-814f5dab600d19ffe043363814503c113549e221.tar.bz2
px4-nuttx-814f5dab600d19ffe043363814503c113549e221.zip
Some STM32 USB OTG FS driver fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5059 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch')
-rw-r--r--nuttx/arch/arm/src/stm32/stm32_otgfshost.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/nuttx/arch/arm/src/stm32/stm32_otgfshost.c b/nuttx/arch/arm/src/stm32/stm32_otgfshost.c
index 61f2640d4..ce0e9036e 100644
--- a/nuttx/arch/arm/src/stm32/stm32_otgfshost.c
+++ b/nuttx/arch/arm/src/stm32/stm32_otgfshost.c
@@ -48,6 +48,10 @@
#include <errno.h>
#include <debug.h>
+#if !defined(CONFIG_DEBUG_VERBOSE) && !defined(CONFIG_DEBUG_USB)
+# include <debug.h>
+#endif
+
#include <nuttx/arch.h>
#include <nuttx/kmalloc.h>
#include <nuttx/usb/usb.h>
@@ -1888,7 +1892,7 @@ static void stm32_gint_connected(FAR struct stm32_usbhost_s *priv)
if (!priv->connected)
{
/* Yes.. then now we are connected */
-
+
ullvdbg("Connected\n");
priv->connected = true;
DEBUGASSERT(priv->smstate == SMSTATE_DETACHED);
@@ -3595,8 +3599,19 @@ static int stm32_transfer(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep,
}
}
+ /* There is a bug in the code at present. With debug OFF, this driver
+ * overruns the typical FLASH device and there are many problems with
+ * NAKS sticking a big delay here allows the driver to work but with
+ * very poor performance when debug is off.
+ */
+
+#if !defined(CONFIG_DEBUG_VERBOSE) && !defined(CONFIG_DEBUG_USB)
+#warning "REVISIT this delay"
+ usleep(100*1000);
+#endif
+
/* Start the transfer */
-
+
stm32_transfer_start(priv, chidx);
/* Wait for the transfer to complete and get the result */
@@ -3696,7 +3711,7 @@ static void stm32_portreset(FAR struct stm32_usbhost_s *priv)
* Flush the selected Tx FIFO.
*
* Input Parameters:
- * priv -- USB host driver private data structure.
+ * txfnum -- USB host driver private data structure.
*
* Returned Value:
* None.