diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2013-10-11 09:19:18 -0400 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@intel.com> | 2013-10-11 09:28:03 -0400 |
commit | 7bd8f09f69f8a190f9b8334a07bb0a9237612314 (patch) | |
tree | a5d892d5129194953e29eb9dc986f5773e59ef14 /drivers/bluetooth/bpa10x.c | |
parent | e1a26170692dc1e5fbe0ccd98ef86cc9fcd31a64 (diff) |
Bluetooth: Add hdev parameter to hdev->send driver callback
Instead of masking hdev inside the skb->dev parameter, hand it
directly to the driver as a parameter to hdev->send. This makes
the driver interface more clear and simpler.
This patch fixes all drivers to accept and handle the new parameter
of hdev->send callback. Special care has been taken for bpa10x
and btusb drivers that require having skb->dev set to hdev for
the URB transmit complete handlers.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Diffstat (limited to 'drivers/bluetooth/bpa10x.c')
-rw-r--r-- | drivers/bluetooth/bpa10x.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/bluetooth/bpa10x.c b/drivers/bluetooth/bpa10x.c index 3188fb48bf4b..b9e4e621fb10 100644 --- a/drivers/bluetooth/bpa10x.c +++ b/drivers/bluetooth/bpa10x.c | |||
@@ -350,9 +350,8 @@ static int bpa10x_flush(struct hci_dev *hdev) | |||
350 | return 0; | 350 | return 0; |
351 | } | 351 | } |
352 | 352 | ||
353 | static int bpa10x_send_frame(struct sk_buff *skb) | 353 | static int bpa10x_send_frame(struct hci_dev *hdev, struct sk_buff *skb) |
354 | { | 354 | { |
355 | struct hci_dev *hdev = (struct hci_dev *) skb->dev; | ||
356 | struct bpa10x_data *data = hci_get_drvdata(hdev); | 355 | struct bpa10x_data *data = hci_get_drvdata(hdev); |
357 | struct usb_ctrlrequest *dr; | 356 | struct usb_ctrlrequest *dr; |
358 | struct urb *urb; | 357 | struct urb *urb; |
@@ -364,6 +363,8 @@ static int bpa10x_send_frame(struct sk_buff *skb) | |||
364 | if (!test_bit(HCI_RUNNING, &hdev->flags)) | 363 | if (!test_bit(HCI_RUNNING, &hdev->flags)) |
365 | return -EBUSY; | 364 | return -EBUSY; |
366 | 365 | ||
366 | skb->dev = (void *) hdev; | ||
367 | |||
367 | urb = usb_alloc_urb(0, GFP_ATOMIC); | 368 | urb = usb_alloc_urb(0, GFP_ATOMIC); |
368 | if (!urb) | 369 | if (!urb) |
369 | return -ENOMEM; | 370 | return -ENOMEM; |