Re: hci_h4p from linux-n900 branch: fix with new bluetooth for 3.13-rc1

Pali Rohár
2013-11-27T14:59:27Z

[-- Attachment #1: Type: Text/Plain, Size: 2507 bytes --]

Hi, I already have this patch prepared for 3.13.

On Wednesday 27 November 2013 13:51:50 Pavel Machek wrote:
> commit d18adf907651766c97eedae993f14c6e042914a6
> Author: Pavel <pavel@ucw.cz>
> Date: Wed Nov 27 13:43:40 2013 +0100
>
> Fix compilation of hci_h4p after bluetooth core changes. Only
> compile tested.
>
> Signed-off-by: Pavel Machek <pavel@ucw.cz>
>
> --
>
> When you update to 3.13-rc1, you'll likely need this one.
>
> (And good news is that it boots with that kernel, and video
> seems to work.)
>
> index 7ed9d4e..dac3875 100644
> --- a/drivers/bluetooth/hci_h4p/core.c
> +++ b/drivers/bluetooth/hci_h4p/core.c
> @@ -405,7 +405,7 @@ static inline void
> hci_h4p_recv_frame(struct hci_h4p_info *info, }
> hci_h4p_parse_fw_event(info, skb);
> } else {
> - hci_recv_frame(skb);
> + hci_recv_frame(info->hdev, skb);
> NBT_DBG("Frame sent to upper layer\n");
> }
> }
> @@ -789,10 +789,9 @@ static int hci_h4p_hci_close(struct
> hci_dev *hdev) return 0;
> }
>
> -static int hci_h4p_hci_send_frame(struct sk_buff *skb)
> +static int hci_h4p_hci_send_frame(struct hci_dev *hdev,
> struct sk_buff *skb) {
> struct hci_h4p_info *info;
> - struct hci_dev *hdev = (struct hci_dev *)skb->dev;
> int err = 0;
> unsigned long flags;
>
> @@ -841,12 +840,6 @@ static int hci_h4p_hci_send_frame(struct
> sk_buff *skb) return 0;
> }
>
> -static int hci_h4p_hci_ioctl(struct hci_dev *hdev, unsigned
> int cmd, - unsigned long arg)
> -{
> - return -ENOIOCTLCMD;
> -}
> -
> static int hci_h4p_register_hdev(struct hci_h4p_info *info)
> {
> struct hci_dev *hdev;
> @@ -867,7 +860,6 @@ static int hci_h4p_register_hdev(struct
> hci_h4p_info *info) hdev->close = hci_h4p_hci_close;
> hdev->flush = hci_h4p_hci_flush;
> hdev->send = hci_h4p_hci_send_frame;
> - hdev->ioctl = hci_h4p_hci_ioctl;
> set_bit(HCI_QUIRK_RESET_ON_CLOSE, &hdev->quirks);
>
> SET_HCIDEV_DEV(hdev, info->dev);
> diff --git a/drivers/bluetooth/hci_h4p/fw-csr.c
> b/drivers/bluetooth/hci_h4p/fw-csr.c index af880d9..020fa52
> 100644
> --- a/drivers/bluetooth/hci_h4p/fw-csr.c
> +++ b/drivers/bluetooth/hci_h4p/fw-csr.c
> @@ -31,7 +31,7 @@ void hci_h4p_bc4_parse_fw_event(struct
> hci_h4p_info *info, struct sk_buff *skb) {
> /* Check if this is fw packet */
> if (skb->data[0] != 0xff) {
> - hci_recv_frame(skb);
> + hci_recv_frame(info->hdev, skb);
> return;
> }

--
Pali Rohár
pali.rohar@gmail.com

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]