tty: n_smux: Mask power collapse support
If power-collapse is supported locally, then SMUX will always set the
power-collapse supported flag in an OPEN ACK which may cause confusion
for the remote side.
Mask power-collapse enabled with the value in the remote open
acknowledge message.
CRs-Fixed: 443770
Change-Id: I8ceb753e25a53d13fa5b5288457e8b1993452a18
Signed-off-by: Eric Holmberg <eholmber@codeaurora.org>
diff --git a/drivers/tty/n_smux.c b/drivers/tty/n_smux.c
index 14b8ca2..32c081d 100644
--- a/drivers/tty/n_smux.c
+++ b/drivers/tty/n_smux.c
@@ -1287,8 +1287,9 @@
goto out;
}
ack_pkt->hdr.cmd = SMUX_CMD_OPEN_LCH;
- ack_pkt->hdr.flags = SMUX_CMD_OPEN_ACK
- | SMUX_CMD_OPEN_POWER_COLLAPSE;
+ ack_pkt->hdr.flags = SMUX_CMD_OPEN_ACK;
+ if (enable_powerdown)
+ ack_pkt->hdr.flags |= SMUX_CMD_OPEN_POWER_COLLAPSE;
ack_pkt->hdr.lcid = lcid;
ack_pkt->hdr.payload_len = 0;
ack_pkt->hdr.pad_len = 0;
@@ -1308,8 +1309,9 @@
if (ack_pkt) {
ack_pkt->hdr.lcid = lcid;
ack_pkt->hdr.cmd = SMUX_CMD_OPEN_LCH;
- ack_pkt->hdr.flags =
- SMUX_CMD_OPEN_POWER_COLLAPSE;
+ if (enable_powerdown)
+ ack_pkt->hdr.flags |=
+ SMUX_CMD_OPEN_POWER_COLLAPSE;
ack_pkt->hdr.payload_len = 0;
ack_pkt->hdr.pad_len = 0;
smux_tx_queue(ack_pkt, ch, 0);