diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2014-12-27 09:45:45 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2014-12-27 09:45:45 -0600 |
commit | 419a64187953a1302ac16bee0125637d8f9bef8a (patch) | |
tree | 28c7a74e9e4751c0fa3453e5e0e0c8529c98319a /nuttx/drivers/serial | |
parent | f274e8e07b55d0089e943d0ebf35e8f0f4d1451d (diff) | |
download | nuttx-419a64187953a1302ac16bee0125637d8f9bef8a.tar.gz nuttx-419a64187953a1302ac16bee0125637d8f9bef8a.tar.bz2 nuttx-419a64187953a1302ac16bee0125637d8f9bef8a.zip |
Remove STM32-specific RX flow control logic from the upper level serial driver to the lower level STM32 serial driver
Diffstat (limited to 'nuttx/drivers/serial')
-rw-r--r-- | nuttx/drivers/serial/serial.c | 10 | ||||
-rw-r--r-- | nuttx/drivers/serial/serialirq.c | 2 |
2 files changed, 6 insertions, 6 deletions
diff --git a/nuttx/drivers/serial/serial.c b/nuttx/drivers/serial/serial.c index 526504240..001428900 100644 --- a/nuttx/drivers/serial/serial.c +++ b/nuttx/drivers/serial/serial.c @@ -798,19 +798,19 @@ static ssize_t uart_read(FAR struct file *filep, FAR char *buffer, size_t buflen if (nbuffered <= watermark) { /* Let the lower level driver know that the watermark level has been - * crossed. + * crossed. It will probably deactivate RX flow control. */ (void)uart_rxflowcontrol(dev, nbuffered, false); } #else + /* If the RX buffer empty */ + if (rxbuf->head == rxbuf->tail) { - /* We might leave Rx interrupt disabled if full recv buffer was read - * empty. Enable Rx interrupt to make sure that more input is received. - */ + /* Deactivate RX flow control. */ - uart_enablerxint(dev); + (void)uart_rxflowcontrol(dev, 0, false); } #endif #endif diff --git a/nuttx/drivers/serial/serialirq.c b/nuttx/drivers/serial/serialirq.c index dd4c75ea9..3962d985c 100644 --- a/nuttx/drivers/serial/serialirq.c +++ b/nuttx/drivers/serial/serialirq.c @@ -186,7 +186,7 @@ void uart_recvchars(FAR uart_dev_t *dev) if (nbuffered >= watermark) { /* Let the lower level driver know that the watermark level has been - * crossed. + * crossed. It will probably activate RX flow control. */ if (uart_rxflowcontrol(dev, nbuffered, true)) |