diff --git a/ChangeLog b/ChangeLog
index 6790a04c30a..315a98d48f2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1323,6 +1323,9 @@
* configs/avr32dev1/ostest - The AVR32 port now successfully passes the
examples/ostest. We have a good AVR32 port!
* configs/avr32dev1/nsh - Added a configuration to support the NuttShell
- (NSH). Testing of this configuration is just beginning.
+ (NSH). As of this writing, here is a problem receiving serial data (this
+ is, very likely, my hardware setup).
+ * lib/lib_open.c - Fix an error in fdopen when a valid file desciptor does
+ not refer to an open file.
diff --git a/Documentation/NuttX.html b/Documentation/NuttX.html
index 56817e3ce38..d3fff7c9bb6 100644
--- a/Documentation/NuttX.html
+++ b/Documentation/NuttX.html
@@ -8,7 +8,7 @@
NuttX RTOS
- Last Updated: November 4, 2010
+ Last Updated: November 5, 2010
|
@@ -1952,7 +1952,10 @@ nuttx-5.13 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
* configs/avr32dev1/ostest - The AVR32 port now successfully passes the
examples/ostest. We have a good AVR32 port!
* configs/avr32dev1/nsh - Added a configuration to support the NuttShell
- (NSH). Testing of this configuration is just beginning.
+ (NSH). As of this writing, here is a problem receiving serial data (this
+ is, very likely, my hardware setup).
+ * lib/lib_open.c - Fix an error in fdopen when a valid file desciptor does
+ not refer to an open file.
pascal-2.1 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
diff --git a/arch/avr/src/at32uc3/at32uc3_serial.c b/arch/avr/src/at32uc3/at32uc3_serial.c
index 7ed9d4b9512..e0c2bae48b8 100644
--- a/arch/avr/src/at32uc3/at32uc3_serial.c
+++ b/arch/avr/src/at32uc3/at32uc3_serial.c
@@ -336,7 +336,7 @@ static inline void up_disableusartint(struct up_dev_s *priv, uint32_t *imr)
{
if (imr)
{
- *imr = up_serialin(priv, AVR32_USART_IDR_OFFSET);
+ *imr = up_serialin(priv, AVR32_USART_IMR_OFFSET);
}
/* Disable all interrupts */
@@ -594,7 +594,7 @@ static int up_receive(struct uart_dev_s *dev, uint32_t *status)
static void up_rxint(struct uart_dev_s *dev, bool enable)
{
struct up_dev_s *priv = (struct up_dev_s*)dev->priv;
-
+
if (enable)
{
/* Receive an interrupt when their is anything in the Rx data register (or an Rx
diff --git a/arch/avr/src/common/up_initialize.c b/arch/avr/src/common/up_initialize.c
index fde474ec619..abbff8532d4 100644
--- a/arch/avr/src/common/up_initialize.c
+++ b/arch/avr/src/common/up_initialize.c
@@ -51,6 +51,19 @@
/****************************************************************************
* Pre-processor Definitions
****************************************************************************/
+/* Determine which (if any) console driver to use. This will probably cause
+ * up_serialinit to be incorrectly called if there is no USART configured to
+ * be an RS-232 device (see as an example arch/avr/src/at32uc23/at32uc3_config.h)
+ * This will probably have to be revisited someday.
+ */
+
+#if CONFIG_NFILE_DESCRIPTORS == 0 || defined(CONFIG_DEV_LOWCONSOLE)
+# undef CONFIG_USE_SERIALDRIVER
+# undef CONFIG_USE_EARLYSERIALINIT
+#elif defined(CONFIG_DEV_CONSOLE) && CONFIG_NFILE_DESCRIPTORS > 0
+# define CONFIG_USE_SERIALDRIVER 1
+# define CONFIG_USE_EARLYSERIALINIT 1
+#endif
/****************************************************************************
* Private Types