diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2007-07-11 00:42:04 -0400 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2007-07-11 00:42:04 -0400 |
commit | ef222013fc8c1a2fcba5c7ab169be8ffcb778ec4 (patch) | |
tree | 706fb330afd783755eee511bd9182e507c88c5e6 /include/net/bluetooth | |
parent | 7dcca30a32aadb0520417521b0c44f42d09fe05c (diff) |
[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 { | |||
109 | struct sk_buff_head cmd_q; | 109 | struct sk_buff_head cmd_q; |
110 | 110 | ||
111 | struct sk_buff *sent_cmd; | 111 | struct sk_buff *sent_cmd; |
112 | struct sk_buff *reassembly[3]; | ||
112 | 113 | ||
113 | struct semaphore req_lock; | 114 | struct semaphore req_lock; |
114 | wait_queue_head_t req_wait_q; | 115 | wait_queue_head_t req_wait_q; |
@@ -437,6 +438,8 @@ static inline int hci_recv_frame(struct sk_buff *skb) | |||
437 | return 0; | 438 | return 0; |
438 | } | 439 | } |
439 | 440 | ||
441 | int hci_recv_fragment(struct hci_dev *hdev, int type, void *data, int count); | ||
442 | |||
440 | int hci_register_sysfs(struct hci_dev *hdev); | 443 | int hci_register_sysfs(struct hci_dev *hdev); |
441 | void hci_unregister_sysfs(struct hci_dev *hdev); | 444 | void hci_unregister_sysfs(struct hci_dev *hdev); |
442 | void hci_conn_add_sysfs(struct hci_conn *conn); | 445 | void hci_conn_add_sysfs(struct hci_conn *conn); |