diff options
-rw-r--r-- | kernel/pciradio.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/pciradio.c b/kernel/pciradio.c index 55270c1..f342859 100644 --- a/kernel/pciradio.c +++ b/kernel/pciradio.c @@ -1355,8 +1355,9 @@ static int pciradio_ioctl(struct zt_chan *chan, unsigned int cmd, unsigned long stack.p.index = rad->rxindex; break; } - /* wait for done only if in SERIAL_ASCII mode */ - if (rad->remmode[chan->chanpos - 1] == ZT_RADPAR_REM_SERIAL_ASCII) + /* wait for done if in SERIAL_ASCII mode, or if no Rx aftwards */ + if ((rad->remmode[chan->chanpos - 1] == ZT_RADPAR_REM_SERIAL_ASCII) || + (!stack.p.data)) { /* wait for TX to be done if not already */ while(rad->txlen && (rad->txindex < rad->txlen)) |