diff options
-rw-r--r-- | src/serialport/qserialport_unix.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/serialport/qserialport_unix.cpp b/src/serialport/qserialport_unix.cpp index 007a7753..8140e079 100644 --- a/src/serialport/qserialport_unix.cpp +++ b/src/serialport/qserialport_unix.cpp @@ -521,12 +521,11 @@ bool QSerialPortPrivate::waitForBytesWritten(int msecs) bool QSerialPortPrivate::setBaudRate() { - if (!setBaudRate(inputBaudRate, QSerialPort::Input) - && !setBaudRate(outputBaudRate, QSerialPort::Output)) { - return false; - } + if (inputBaudRate == outputBaudRate) + return setBaudRate(inputBaudRate, QSerialPort::AllDirections); - return true; + return (setBaudRate(inputBaudRate, QSerialPort::Input) + && setBaudRate(outputBaudRate, QSerialPort::Output)); } bool QSerialPortPrivate::setBaudRate(qint32 baudRate, QSerialPort::Directions directions) |