qrtr: Return success if control port is not bound

If a port tries to send a message before the name service binds to the
control port, then that message should succeed. This will allow clients
to operate normally until the name service comes online and causes a
net reset to restart all the ports.

Change-Id: Ica0a5e45df0e51f282e5bf426d11ff8e41b339c4
Signed-off-by: Chris Lew <clew@codeaurora.org>
This commit is contained in:
Chris Lew 2018-05-15 20:17:54 -07:00
parent 3938e38f91
commit 80a19ad27e

View File

@ -684,6 +684,10 @@ static int qrtr_local_enqueue(struct qrtr_node *node, struct sk_buff *skb,
struct qrtr_cb *cb;
ipc = qrtr_port_lookup(to->sq_port);
if (!ipc && to->sq_port == QRTR_PORT_CTRL) {
kfree_skb(skb);
return 0;
}
if (!ipc || &ipc->sk == skb->sk) { /* do not send to self */
kfree_skb(skb);
return -ENODEV;