summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel@rtems.org>2019-03-12 14:33:20 -0500
committerJoel Sherrill <joel@rtems.org>2019-03-14 08:21:43 -0500
commit90232bcf45ed4d778f3f1c208f09076338cd241f (patch)
tree6e630239b5727ee379f1dadef8788c467fdad481
parentRemove superfluous <rtems/system.h> includes (diff)
downloadrtems-90232bcf45ed4d778f3f1c208f09076338cd241f.tar.bz2
z85c30.c: Do not process 0 baud and return an error (CID 1399713)
-rw-r--r--bsps/shared/dev/serial/z85c30.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/bsps/shared/dev/serial/z85c30.c b/bsps/shared/dev/serial/z85c30.c
index 55df9d3451..d1f4a6f455 100644
--- a/bsps/shared/dev/serial/z85c30.c
+++ b/bsps/shared/dev/serial/z85c30.c
@@ -456,6 +456,15 @@ Z85C30_STATIC int z85c30_set_attributes(
baud_number = (uint32_t) rtems_termios_baud_to_number( baud_requested );
_Assert( baud_number != 0 );
+ /*
+ * POSIX says baud rate of zero is a request to hang up or disconnect.
+ * This is not supported by this driver.
+ */
+ _Assert( baud_number != 0 );
+ if (baud_number == 0) {
+ return -1;
+ }
+
ulBaudDivisor = Z85C30_Baud(
(uint32_t) Console_Port_Tbl[minor]->ulClock,
baud_number