|
@@ -124,30 +124,6 @@ static int h4_enqueue(struct hci_uart *hu, struct sk_buff *skb)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static inline int h4_check_data_len(struct h4_struct *h4, int len)
|
|
|
-{
|
|
|
- int room = skb_tailroom(h4->rx_skb);
|
|
|
-
|
|
|
- BT_DBG("len %d room %d", len, room);
|
|
|
-
|
|
|
- if (!len) {
|
|
|
- hci_recv_frame(h4->rx_skb);
|
|
|
- } else if (len > room) {
|
|
|
- BT_ERR("Data length is too large");
|
|
|
- kfree_skb(h4->rx_skb);
|
|
|
- } else {
|
|
|
- h4->rx_state = H4_W4_DATA;
|
|
|
- h4->rx_count = len;
|
|
|
- return len;
|
|
|
- }
|
|
|
-
|
|
|
- h4->rx_state = H4_W4_PACKET_TYPE;
|
|
|
- h4->rx_skb = NULL;
|
|
|
- h4->rx_count = 0;
|
|
|
-
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
/* Recv data */
|
|
|
static int h4_recv(struct hci_uart *hu, void *data, int count)
|
|
|
{
|