net: qrtr: Fix port ID for control messages
authorLoic Poulain <loic.poulain@linaro.org>
Fri, 6 Nov 2020 17:33:26 +0000 (18:33 +0100)
committerJakub Kicinski <kuba@kernel.org>
Wed, 11 Nov 2020 23:29:34 +0000 (15:29 -0800)
The port ID for control messages was uncorrectly set with broadcast
node ID value, causing message to be dropped on remote side since
not passing packet filtering (cb->dst_port != QRTR_PORT_CTRL).

Fixes: d27e77a3de28 ("net: qrtr: Reset the node and port ID of broadcast messages")
Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/qrtr/qrtr.c

index 957aa92..d7134c5 100644 (file)
@@ -347,7 +347,7 @@ static int qrtr_node_enqueue(struct qrtr_node *node, struct sk_buff *skb,
        hdr->src_port_id = cpu_to_le32(from->sq_port);
        if (to->sq_port == QRTR_PORT_CTRL) {
                hdr->dst_node_id = cpu_to_le32(node->nid);
-               hdr->dst_port_id = cpu_to_le32(QRTR_NODE_BCAST);
+               hdr->dst_port_id = cpu_to_le32(QRTR_PORT_CTRL);
        } else {
                hdr->dst_node_id = cpu_to_le32(to->sq_node);
                hdr->dst_port_id = cpu_to_le32(to->sq_port);