Hi Martin, > The three-wire (H5) protocol is the only protocol which uses > HCI_UART_INIT_PENDING. > Unfortunately the protocol implementation never receives data with this > check still in place. For the H5 protocol this means that the > initialization never completes and thus the firmware download never > starts. Even if the initialization would succeed later on the drivers > would call hci_uart_init_ready() which schedules the registration which > is currently not implemented by hci_serdev.c. > > Removing the HCI_UART_INIT_PENDING check makes the code easier to read > and also fixes the initalization of devices (implemented with the serdev > library) which use the H5 protocol. > > Signed-off-by: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> > --- > drivers/bluetooth/hci_serdev.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/drivers/bluetooth/hci_serdev.c b/drivers/bluetooth/hci_serdev.c > index e0e6461b9200..fe67eb6d4278 100644 > --- a/drivers/bluetooth/hci_serdev.c > +++ b/drivers/bluetooth/hci_serdev.c > @@ -333,9 +333,6 @@ int hci_uart_register_device(struct hci_uart *hu, > else > hdev->dev_type = HCI_PRIMARY; > > - if (test_bit(HCI_UART_INIT_PENDING, &hu->hdev_flags)) > - return 0; > - then lets also remove the flag definition itself. Or if that is still needed for some legacy operation, then describe this. For example I also see it used in hci_serdev.c and main question would be if it is used there as well or some legacy cruft. Regards Marcel -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html