diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2007-07-11 06:42:04 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2007-07-11 06:42:04 +0200 |
commit | ef222013fc8c1a2fcba5c7ab169be8ffcb778ec4 (patch) | |
tree | 706fb330afd783755eee511bd9182e507c88c5e6 /include/net/bluetooth | |
parent | 7dcca30a32aadb0520417521b0c44f42d09fe05c (diff) | |
download | blackbird-op-linux-ef222013fc8c1a2fcba5c7ab169be8ffcb778ec4.tar.gz blackbird-op-linux-ef222013fc8c1a2fcba5c7ab169be8ffcb778ec4.zip |
[Bluetooth] Add hci_recv_fragment() helper function
Most drivers must handle fragmented HCI data packets and events. This
patch adds a generic function for their reassembly to the Bluetooth
core layer and thus allows to shrink the complexity of the drivers.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'include/net/bluetooth')
-rw-r--r-- | include/net/bluetooth/hci_core.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h index c0fc39620f36..7c78744ec0fd 100644 --- a/include/net/bluetooth/hci_core.h +++ b/include/net/bluetooth/hci_core.h @@ -109,6 +109,7 @@ struct hci_dev { struct sk_buff_head cmd_q; struct sk_buff *sent_cmd; + struct sk_buff *reassembly[3]; struct semaphore req_lock; wait_queue_head_t req_wait_q; @@ -437,6 +438,8 @@ static inline int hci_recv_frame(struct sk_buff *skb) return 0; } +int hci_recv_fragment(struct hci_dev *hdev, int type, void *data, int count); + int hci_register_sysfs(struct hci_dev *hdev); void hci_unregister_sysfs(struct hci_dev *hdev); void hci_conn_add_sysfs(struct hci_conn *conn); |