From 8e03cf4b31d71334c51811504cb306883a167a5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Sun, 17 Aug 2014 00:20:55 +0200 Subject: [PATCH] pc_serial: Fix TTYSETRTS Same fix as hrev42151 for usb_serial: When determining the bit to be set for RTS/DTR there was a missing comparison to op which would've caused a wrong line state to be set. --- src/add-ons/kernel/drivers/ports/pc_serial/SerialDevice.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/add-ons/kernel/drivers/ports/pc_serial/SerialDevice.cpp b/src/add-ons/kernel/drivers/ports/pc_serial/SerialDevice.cpp index c90a73bacc..2e8a58d937 100644 --- a/src/add-ons/kernel/drivers/ports/pc_serial/SerialDevice.cpp +++ b/src/add-ons/kernel/drivers/ports/pc_serial/SerialDevice.cpp @@ -314,7 +314,7 @@ SerialDevice::Service(struct tty *tty, uint32 op, void *buffer, size_t length) case TTYSETRTS: { bool set = *(bool *)buffer; - uint8 bit = TTYSETDTR ? MCR_DTR : MCR_RTS; + uint8 bit = op == TTYSETDTR ? MCR_DTR : MCR_RTS; if (set) OrReg8(MCR, bit); else