From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751555AbcFXGGO (ORCPT ); Fri, 24 Jun 2016 02:06:14 -0400 Received: from regular1.263xmail.com ([211.150.99.131]:53442 "EHLO regular1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750979AbcFXGGJ (ORCPT ); Fri, 24 Jun 2016 02:06:09 -0400 X-263anti-spam: KSV:0;BIG:0;ABS:1;DNS:0;ATT:0;SPF:S; X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-KSVirus-check: 0 X-ABS-CHECKED: 1 X-SKE-CHECKED: 1 X-ADDR-CHECKED: 0 X-RL-SENDER: jeffy.chen@rock-chips.com X-FST-TO: gbhat@marvell.com X-SENDER-IP: 58.22.7.114 X-LOGIN-NAME: jeffy.chen@rock-chips.com X-UNIQUE-TAG: <4aa6c53b0e20abba7ef3a33e025e3985> X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Subject: Re: [v11, 2/3] Bluetooth: hci_uart: check if hdev is present before using it To: Amitkumar Karwar , linux-bluetooth@vger.kernel.org References: <1462548714-7971-2-git-send-email-akarwar@marvell.com> Cc: linux-kernel@vger.kernel.org, Ganapathi Bhat From: Jeffy Chen Message-ID: <576CCCD2.7070506@rock-chips.com> Date: Fri, 24 Jun 2016 14:01:54 +0800 User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <1462548714-7971-2-git-send-email-akarwar@marvell.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2016-5-6 23:31, Amitkumar Karwar wrote: > From: Ganapathi Bhat > > The hdev struct might not have initialized in protocol receive handler. > This patch adds necessary checks. > > Signed-off-by: Ganapathi Bhat > Signed-off-by: Amitkumar Karwar > --- > 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