[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <576CCCD2.7070506@rock-chips.com>
Date: Fri, 24 Jun 2016 14:01:54 +0800
From: Jeffy Chen <jeffy.chen@...k-chips.com>
To: Amitkumar Karwar <akarwar@...vell.com>,
linux-bluetooth@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, Ganapathi Bhat <gbhat@...vell.com>
Subject: Re: [v11, 2/3] Bluetooth: hci_uart: check if hdev is present before
using it
On 2016-5-6 23:31, Amitkumar Karwar wrote:
> From: Ganapathi Bhat <gbhat@...vell.com>
>
> The hdev struct might not have initialized in protocol receive handler.
> This patch adds necessary checks.
>
> Signed-off-by: Ganapathi Bhat <gbhat@...vell.com>
> Signed-off-by: Amitkumar Karwar <akarwar@...vell.com>
> ---
> drivers/bluetooth/hci_ldisc.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/bluetooth/hci_ldisc.c b/drivers/bluetooth/hci_ldisc.c
> index b4ee682..047e786 100644
> --- a/drivers/bluetooth/hci_ldisc.c
> +++ b/drivers/bluetooth/hci_ldisc.c
> @@ -154,7 +154,9 @@ restart:
>
> set_bit(TTY_DO_WRITE_WAKEUP, &tty->flags);
> len = tty->ops->write(tty, skb->data, skb->len);
> - hdev->stat.byte_tx += len;
> +
> + if (hdev)
> + hdev->stat.byte_tx += len;
>
> skb_pull(skb, len);
> if (skb->len) {
> @@ -349,7 +351,7 @@ void hci_uart_set_baudrate(struct hci_uart *hu, unsigned int speed)
> /* tty_set_termios() return not checked as it is always 0 */
> tty_set_termios(tty, &ktermios);
>
> - BT_DBG("%s: New tty speeds: %d/%d", hu->hdev->name,
> + BT_DBG("%s: New tty speeds: %d/%d", hu->hdev ? hu->hdev->name : "",
> tty->termios.c_ispeed, tty->termios.c_ospeed);
> }
>
>
>
This serial of patches work well on my device...
Tested-by: Jeffy Chen <jeffy.chen@...k-chips.com>
Powered by blists - more mailing lists