Bluetooth: Linearize skbs for use in BNEP, CMTP, HIDP, and RFCOMM
[pandora-kernel.git] / net / bluetooth / rfcomm / core.c
index 5ba3f6d..38b618c 100644 (file)
@@ -1853,7 +1853,10 @@ static inline void rfcomm_process_rx(struct rfcomm_session *s)
        /* Get data directly from socket receive queue without copying it. */
        while ((skb = skb_dequeue(&sk->sk_receive_queue))) {
                skb_orphan(skb);
-               rfcomm_recv_frame(s, skb);
+               if (!skb_linearize(skb))
+                       rfcomm_recv_frame(s, skb);
+               else
+                       kfree_skb(skb);
        }
 
        if (sk->sk_state == BT_CLOSED) {