diff options
Diffstat (limited to 'drivers/bluetooth')
-rw-r--r-- | drivers/bluetooth/btusb.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index 1ea63518d130..4a6495ab9726 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c | |||
@@ -309,6 +309,7 @@ struct btusb_data { | |||
309 | int isoc_altsetting; | 309 | int isoc_altsetting; |
310 | int suspend_count; | 310 | int suspend_count; |
311 | 311 | ||
312 | int (*recv_event)(struct hci_dev *hdev, struct sk_buff *skb); | ||
312 | int (*recv_bulk)(struct btusb_data *data, void *buffer, int count); | 313 | int (*recv_bulk)(struct btusb_data *data, void *buffer, int count); |
313 | }; | 314 | }; |
314 | 315 | ||
@@ -374,7 +375,7 @@ static int btusb_recv_intr(struct btusb_data *data, void *buffer, int count) | |||
374 | 375 | ||
375 | if (bt_cb(skb)->expect == 0) { | 376 | if (bt_cb(skb)->expect == 0) { |
376 | /* Complete frame */ | 377 | /* Complete frame */ |
377 | hci_recv_frame(data->hdev, skb); | 378 | data->recv_event(data->hdev, skb); |
378 | skb = NULL; | 379 | skb = NULL; |
379 | } | 380 | } |
380 | } | 381 | } |
@@ -2048,6 +2049,7 @@ static int btusb_probe(struct usb_interface *intf, | |||
2048 | init_usb_anchor(&data->isoc_anchor); | 2049 | init_usb_anchor(&data->isoc_anchor); |
2049 | spin_lock_init(&data->rxlock); | 2050 | spin_lock_init(&data->rxlock); |
2050 | 2051 | ||
2052 | data->recv_event = hci_recv_frame; | ||
2051 | data->recv_bulk = btusb_recv_bulk; | 2053 | data->recv_bulk = btusb_recv_bulk; |
2052 | 2054 | ||
2053 | hdev = hci_alloc_dev(); | 2055 | hdev = hci_alloc_dev(); |