changeset 1035:f81e485de35c

Restart RX after flush
author gthomas
date Wed, 21 May 2003 16:31:22 +0000
parents 87c33f62e853
children 92d957f8f87e
files packages/io/serial/current/ChangeLog packages/io/serial/current/src/common/serial.c
diffstat 2 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/packages/io/serial/current/ChangeLog
+++ b/packages/io/serial/current/ChangeLog
@@ -1,3 +1,9 @@
+2003-05-21  Gary Thomas  <gary@mlbassoc.com> 	
+
+	* src/common/serial.c (serial_get_config): Restart receiver 
+	after input queue flush if it had been throttled.  Inspired
+	by David Marqvar <DAM@tt.dk>
+
 2003-03-25  Jonathan Larmour  <jifl@eCosCentric.com>
 
 	* src/common/serial.c (serial_get_config): For both INPUT_FLUSH
--- a/packages/io/serial/current/src/common/serial.c
+++ b/packages/io/serial/current/src/common/serial.c
@@ -624,6 +624,12 @@ serial_get_config(cyg_io_handle_t handle
                            NULL, NULL);
         cyg_drv_dsr_unlock();
         cyg_drv_mutex_unlock(&in_cbuf->lock);
+#ifdef CYGPKG_IO_SERIAL_FLOW_CONTROL
+        // Restart receiver if it was shutdown
+        if ((chan->flow_desc.flags & CYG_SERIAL_FLOW_IN_THROTTLED) != 0) {
+            restart_rx( chan, false );
+        }
+#endif
         break;
 
     case CYG_IO_GET_CONFIG_SERIAL_ABORT: