diff --git a/net/qrtr/qrtr.c b/net/qrtr/qrtr.c index c64ead2b5e50..ae0d0c6d53ad 100644 --- a/net/qrtr/qrtr.c +++ b/net/qrtr/qrtr.c @@ -822,8 +822,10 @@ int qrtr_endpoint_post(struct qrtr_endpoint *ep, const void *data, size_t len) __pm_wakeup_event(node->ws, 0); } else { ipc = qrtr_port_lookup(cb->dst_port); - if (!ipc) - goto err; + if (!ipc) { + kfree_skb(skb); + return -ENODEV; + } if (sock_queue_rcv_skb(&ipc->sk, skb)) goto err;