diff options
author | Eli Zaretskii <eliz@gnu.org> | 2001-02-04 07:48:18 +0000 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2001-02-04 07:48:18 +0000 |
commit | cd42d3a86d898097e3ac63983d47b3f6f8f471c8 (patch) | |
tree | 1d805aaccdcdd4006420ad4a0f6550026971b79e /gdb/ser-go32.c | |
parent | a17b5c4efc8e3ffaa6ad41c9a696b7f392a2d91d (diff) | |
download | gdb-cd42d3a86d898097e3ac63983d47b3f6f8f471c8.zip gdb-cd42d3a86d898097e3ac63983d47b3f6f8f471c8.tar.gz gdb-cd42d3a86d898097e3ac63983d47b3f6f8f471c8.tar.bz2 |
* ser-go32.c (dos_write) [UART_FIFO_WORKS]: Use outportsb only if
UART_FIFO_WORKS is defined. Otherwise use outportb.
From Francisco Pastor <fpastor.etra-id@etra.es>
Diffstat (limited to 'gdb/ser-go32.c')
-rw-r--r-- | gdb/ser-go32.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/ser-go32.c b/gdb/ser-go32.c index 8a19dd4..ec1c3e0 100644 --- a/gdb/ser-go32.c +++ b/gdb/ser-go32.c @@ -796,9 +796,16 @@ dos_write (serial_t scb, const char *str, int len) /* send the data, fifosize bytes at a time */ cnt = fifosize > len ? len : fifosize; port->txbusy = 1; + /* Francisco Pastor <fpastor.etra-id@etra.es> says OUTSB messes + up the communications with UARTs with FIFOs. */ +#ifdef UART_FIFO_WORKS outportsb (port->base + com_data, str, cnt); str += cnt; len -= cnt; +#else + for ( ; cnt > 0; cnt--, len--) + outportb (port->base + com_data, *str++); +#endif #ifdef DOS_STATS cnts[CNT_TX] += cnt; #endif |