diff --git a/src/core/libosmocore.map b/src/core/libosmocore.map
index 142e4c4..e2aef39 100644
--- a/src/core/libosmocore.map
+++ b/src/core/libosmocore.map
@@ -442,7 +442,8 @@
 osmo_soft_uart_alloc;
 osmo_soft_uart_free;
 osmo_soft_uart_configure;
-osmo_soft_uart_enable;
+osmo_soft_uart_set_rx;
+osmo_soft_uart_set_tx;
 osmo_soft_uart_rx_ubits;
 osmo_soft_uart_tx_ubits;
 osmo_soft_uart_tx;
diff --git a/src/core/soft_uart.c b/src/core/soft_uart.c
index e6dfe3d..2f09845 100644
--- a/src/core/soft_uart.c
+++ b/src/core/soft_uart.c
@@ -281,26 +281,34 @@
 	return 0;
 }
 
-/*! Enable/disable receiver and/or transmitter of the given soft-UART.
+/*! Enable/disable receiver of the given soft-UART.
  * \param[in] suart soft-UART instance to be re-configured.
- * \param[in] rx enable/disable state of the receiver.
- * \param[in] tx enable/disable state of the transmitter.
+ * \param[in] enable enable/disable state of the receiver.
  * \returns 0 on success; negative on error. */
-int osmo_soft_uart_enable(struct osmo_soft_uart *suart, bool rx, bool tx)
+int osmo_soft_uart_set_rx(struct osmo_soft_uart *suart, bool enable)
 {
-	if (!rx && suart->rx.running) {
+	if (!enable && suart->rx.running) {
 		suart_flush_rx(suart);
 		suart->rx.running = false;
-	} else if (rx && !suart->rx.running) {
+	} else if (enable && !suart->rx.running) {
 		if (!suart->rx.msg)
 			suart->rx.msg = msgb_alloc_c(suart, suart->cfg.rx_buf_size, "soft_uart rx");
 		suart->rx.running = true;
 	}
 
-	if (!tx && suart->tx.running) {
+	return 0;
+}
+
+/*! Enable/disable transmitter of the given soft-UART.
+ * \param[in] suart soft-UART instance to be re-configured.
+ * \param[in] enable enable/disable state of the transmitter.
+ * \returns 0 on success; negative on error. */
+int osmo_soft_uart_set_tx(struct osmo_soft_uart *suart, bool enable)
+{
+	if (!enable && suart->tx.running) {
 		/* FIXME: Tx */
 		suart->tx.running = false;
-	} else if (tx && !suart->tx.running) {
+	} else if (enable && !suart->tx.running) {
 		suart->tx.running = true;
 	}
 
