Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[platform/kernel/linux-rpi.git] / net / qrtr / mhi.c
index 2bf2b19..fa61167 100644 (file)
@@ -50,6 +50,9 @@ static int qcom_mhi_qrtr_send(struct qrtr_endpoint *ep, struct sk_buff *skb)
        struct qrtr_mhi_dev *qdev = container_of(ep, struct qrtr_mhi_dev, ep);
        int rc;
 
+       if (skb->sk)
+               sock_hold(skb->sk);
+
        rc = skb_linearize(skb);
        if (rc)
                goto free_skb;
@@ -59,12 +62,11 @@ static int qcom_mhi_qrtr_send(struct qrtr_endpoint *ep, struct sk_buff *skb)
        if (rc)
                goto free_skb;
 
-       if (skb->sk)
-               sock_hold(skb->sk);
-
        return rc;
 
 free_skb:
+       if (skb->sk)
+               sock_put(skb->sk);
        kfree_skb(skb);
 
        return rc;