2020-07-21 02:38:04

by Nicolas Boichat

[permalink] [raw]
Subject: [PATCH 1/2] Bluetooth: hci_h5: Set HCI_UART_RESET_ON_INIT to correct flags

HCI_UART_RESET_ON_INIT belongs in hdev_flags, not flags.

Fixes: ce945552fde4a09 ("Bluetooth: hci_h5: Add support for serdev enumerated devices")
Signed-off-by: Nicolas Boichat <[email protected]>

---

drivers/bluetooth/hci_h5.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/bluetooth/hci_h5.c b/drivers/bluetooth/hci_h5.c
index e60b2e0773db110..e41854e0d79aae2 100644
--- a/drivers/bluetooth/hci_h5.c
+++ b/drivers/bluetooth/hci_h5.c
@@ -793,7 +793,7 @@ static int h5_serdev_probe(struct serdev_device *serdev)
if (!h5)
return -ENOMEM;

- set_bit(HCI_UART_RESET_ON_INIT, &h5->serdev_hu.flags);
+ set_bit(HCI_UART_RESET_ON_INIT, &h5->serdev_hu.hdev_flags);

h5->hu = &h5->serdev_hu;
h5->serdev_hu.serdev = serdev;
--
2.28.0.rc0.105.gf9edc3c819-goog


2020-07-21 02:38:20

by Nicolas Boichat

[permalink] [raw]
Subject: [PATCH 2/2] Bluetooth: hci_serdev: Only unregister device if it was registered

We should not call hci_unregister_dev if the device was not
successfully registered.

Fixes: c34dc3bfa7642fd ("Bluetooth: hci_serdev: Introduce hci_uart_unregister_device()")
Signed-off-by: Nicolas Boichat <[email protected]>

---

drivers/bluetooth/hci_serdev.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/bluetooth/hci_serdev.c b/drivers/bluetooth/hci_serdev.c
index 599855e4c57c13d..7b233312e723fb2 100644
--- a/drivers/bluetooth/hci_serdev.c
+++ b/drivers/bluetooth/hci_serdev.c
@@ -355,7 +355,8 @@ void hci_uart_unregister_device(struct hci_uart *hu)
struct hci_dev *hdev = hu->hdev;

clear_bit(HCI_UART_PROTO_READY, &hu->flags);
- hci_unregister_dev(hdev);
+ if (test_bit(HCI_UART_REGISTERED, &hu->flags))
+ hci_unregister_dev(hdev);
hci_free_dev(hdev);

cancel_work_sync(&hu->write_work);
--
2.28.0.rc0.105.gf9edc3c819-goog

2020-07-24 11:50:36

by Hans de Goede

[permalink] [raw]
Subject: Re: [PATCH 1/2] Bluetooth: hci_h5: Set HCI_UART_RESET_ON_INIT to correct flags

Hi,

On 7/21/20 4:37 AM, Nicolas Boichat wrote:
> HCI_UART_RESET_ON_INIT belongs in hdev_flags, not flags.
>
> Fixes: ce945552fde4a09 ("Bluetooth: hci_h5: Add support for serdev enumerated devices")
> Signed-off-by: Nicolas Boichat <[email protected]>

Patch looks good to me:

Reviewed-by: Hans de Goede <[email protected]>

Regards,

Hans




>
> ---
>
> drivers/bluetooth/hci_h5.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/bluetooth/hci_h5.c b/drivers/bluetooth/hci_h5.c
> index e60b2e0773db110..e41854e0d79aae2 100644
> --- a/drivers/bluetooth/hci_h5.c
> +++ b/drivers/bluetooth/hci_h5.c
> @@ -793,7 +793,7 @@ static int h5_serdev_probe(struct serdev_device *serdev)
> if (!h5)
> return -ENOMEM;
>
> - set_bit(HCI_UART_RESET_ON_INIT, &h5->serdev_hu.flags);
> + set_bit(HCI_UART_RESET_ON_INIT, &h5->serdev_hu.hdev_flags);
>
> h5->hu = &h5->serdev_hu;
> h5->serdev_hu.serdev = serdev;
>

2020-07-28 07:13:09

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH 1/2] Bluetooth: hci_h5: Set HCI_UART_RESET_ON_INIT to correct flags

Hi Nicolas,

> HCI_UART_RESET_ON_INIT belongs in hdev_flags, not flags.
>
> Fixes: ce945552fde4a09 ("Bluetooth: hci_h5: Add support for serdev enumerated devices")
> Signed-off-by: Nicolas Boichat <[email protected]>
>
> ---
>
> drivers/bluetooth/hci_h5.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

patch has been applied to bluetooth-next tree.

Regards

Marcel