diff --git a/src/main/io/serial.c b/src/main/io/serial.c index 316f0c7caa..61f1a85e6c 100644 --- a/src/main/io/serial.c +++ b/src/main/io/serial.c @@ -457,11 +457,13 @@ void serialInit(bool softserialEnabled, serialPortIdentifier_e serialPortToDisab if ((serialPortUsageList[index].identifier == SERIAL_PORT_SOFTSERIAL1 #ifdef USE_SOFTSERIAL1 - && !(softserialEnabled && serialPinConfig()->ioTagTx[RESOURCE_SOFT_OFFSET + SOFTSERIAL1]) + && !(softserialEnabled && (serialPinConfig()->ioTagTx[RESOURCE_SOFT_OFFSET + SOFTSERIAL1] || + serialPinConfig()->ioTagRx[RESOURCE_SOFT_OFFSET + SOFTSERIAL1])) #endif ) || (serialPortUsageList[index].identifier == SERIAL_PORT_SOFTSERIAL2 #ifdef USE_SOFTSERIAL2 - && !(softserialEnabled && serialPinConfig()->ioTagTx[RESOURCE_SOFT_OFFSET + SOFTSERIAL2]) + && !(softserialEnabled && (serialPinConfig()->ioTagTx[RESOURCE_SOFT_OFFSET + SOFTSERIAL2] || + serialPinConfig()->ioTagRx[RESOURCE_SOFT_OFFSET + SOFTSERIAL2])) #endif )) { serialPortUsageList[index].identifier = SERIAL_PORT_NONE;