Skip to content

Commit

Permalink
Bluetooth: Add one more buffer for HCI stream reassembly
Browse files Browse the repository at this point in the history
Additional reassembly buffer to keep track of stream reasembly

Signed-off-by: Suraj Sumangala <suraj@atheros.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
  • Loading branch information
Suraj Sumangala authored and Marcel Holtmann committed Jul 21, 2010
1 parent 0a79f67 commit cd4c539
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 5 deletions.
4 changes: 2 additions & 2 deletions include/net/bluetooth/hci_core.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ struct bdaddr_list {
struct list_head list;
bdaddr_t bdaddr;
};

#define NUM_REASSEMBLY 4
struct hci_dev {
struct list_head list;
spinlock_t lock;
Expand Down Expand Up @@ -123,7 +123,7 @@ struct hci_dev {
struct sk_buff_head cmd_q;

struct sk_buff *sent_cmd;
struct sk_buff *reassembly[3];
struct sk_buff *reassembly[NUM_REASSEMBLY];

struct mutex req_lock;
wait_queue_head_t req_wait_q;
Expand Down
6 changes: 3 additions & 3 deletions net/bluetooth/hci_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -914,7 +914,7 @@ int hci_register_dev(struct hci_dev *hdev)
skb_queue_head_init(&hdev->cmd_q);
skb_queue_head_init(&hdev->raw_q);

for (i = 0; i < 3; i++)
for (i = 0; i < NUM_REASSEMBLY; i++)
hdev->reassembly[i] = NULL;

init_waitqueue_head(&hdev->req_wait_q);
Expand Down Expand Up @@ -973,7 +973,7 @@ int hci_unregister_dev(struct hci_dev *hdev)

hci_dev_do_close(hdev);

for (i = 0; i < 3; i++)
for (i = 0; i < NUM_REASSEMBLY; i++)
kfree_skb(hdev->reassembly[i]);

hci_notify(hdev, HCI_DEV_UNREG);
Expand Down Expand Up @@ -1034,7 +1034,7 @@ int hci_recv_frame(struct sk_buff *skb)
EXPORT_SYMBOL(hci_recv_frame);

/* Receive packet type fragment */
#define __reassembly(hdev, type) ((hdev)->reassembly[(type) - 2])
#define __reassembly(hdev, type) ((hdev)->reassembly[(type) - 1])

int hci_recv_fragment(struct hci_dev *hdev, int type, void *data, int count)
{
Expand Down

0 comments on commit cd4c539

Please sign in to comment.