diff packages/io/serial/current/src/common/serial.c @ 82:6736c52df507 ecos-sw-2000-04-14

Merge from eCos master repository on 2000-04-14-13:35:46-BST
author jlarmour
date Tue, 18 Apr 2000 21:51:55 +0000
parents bf00f99aec69
children 6512add4f5d6
line wrap: on
line diff
--- a/packages/io/serial/current/src/common/serial.c
+++ b/packages/io/serial/current/src/common/serial.c
@@ -142,8 +142,8 @@ serial_write(cyg_io_handle_t handle, con
                 size--;  // Only count if actually sent!
             }
         }
+        (funs->start_xmit)(chan);  // Start output as necessary
         cyg_drv_dsr_unlock();
-        (funs->start_xmit)(chan);  // Start output as necessary
     }
     cyg_drv_mutex_unlock(&cbuf->lock);
     return res;
@@ -208,15 +208,15 @@ serial_read(cyg_io_handle_t handle, void
         }
         cyg_drv_dsr_unlock();
     }
+#ifdef XX_CYGDBG_DIAG_BUF
     cyg_drv_isr_lock();
-#ifdef XX_CYGDBG_DIAG_BUF
-            enable_diag_uart = 0;
-            HAL_CLOCK_READ(&_time);
-            _stime = (int)cyg_current_time();
-            diag_printf("READ done - size: %d, len: %d, time: %x.%x\n", size, *len, _stime, _time);
-            enable_diag_uart = _enable;
+    enable_diag_uart = 0;
+    HAL_CLOCK_READ(&_time);
+    _stime = (int)cyg_current_time();
+    diag_printf("READ done - size: %d, len: %d, time: %x.%x\n", size, *len, _stime, _time);
+    enable_diag_uart = _enable;
+    cyg_drv_isr_unlock();
 #endif // CYGDBG_DIAG_BUF
-    cyg_drv_isr_unlock();
     cyg_drv_mutex_unlock(&cbuf->lock);
     return res;
 }