summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/serialport/qserialport_unix.cpp9
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)