summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-06-10 14:10:49 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-06-12 16:11:24 +0200
commit2a8713aa54a00563328714390601e0433085aca0 (patch)
tree03715da1d7e7a1b4159af6f185be58f8f72077eb
parentrtems: Add interrupt locks (diff)
downloadrtems-2a8713aa54a00563328714390601e0433085aca0.tar.bz2
termios: Avoid second return path
-rw-r--r--cpukit/libcsupport/src/termios.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/cpukit/libcsupport/src/termios.c b/cpukit/libcsupport/src/termios.c
index de852790a0..20243cadbc 100644
--- a/cpukit/libcsupport/src/termios.c
+++ b/cpukit/libcsupport/src/termios.c
@@ -1322,20 +1322,19 @@ rtems_termios_refill_transmitter (struct rtems_termios_tty *tty)
rtems_interrupt_enable(level);
nToSend = 1;
- } else {
- if ( tty->rawOutBuf.Head == tty->rawOutBuf.Tail ) {
+ } else if ( tty->rawOutBuf.Head == tty->rawOutBuf.Tail ) {
+ /*
+ * buffer was empty
+ */
+ if (tty->rawOutBufState == rob_wait) {
/*
- * buffer was empty
+ * this should never happen...
*/
- if (tty->rawOutBufState == rob_wait) {
- /*
- * this should never happen...
- */
- rtems_semaphore_release (tty->rawOutBuf.Semaphore);
- }
- return 0;
+ rtems_semaphore_release (tty->rawOutBuf.Semaphore);
}
+ nToSend = 0;
+ } else {
rtems_interrupt_disable(level);
len = tty->t_dqlen;
tty->t_dqlen = 0;