Commit fdee6d8f authored by Hans de Goede's avatar Hans de Goede Committed by Marcel Holtmann

Bluetooth: hci_serdev: Fix HCI_UART_INIT_PENDING not working

Init hci_uart->init_ready so that hci_uart_init_ready() works properly.
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent e9ca0807
...@@ -195,7 +195,7 @@ static void hci_uart_write_work(struct work_struct *work) ...@@ -195,7 +195,7 @@ static void hci_uart_write_work(struct work_struct *work)
clear_bit(HCI_UART_SENDING, &hu->tx_state); clear_bit(HCI_UART_SENDING, &hu->tx_state);
} }
static void hci_uart_init_work(struct work_struct *work) void hci_uart_init_work(struct work_struct *work)
{ {
struct hci_uart *hu = container_of(work, struct hci_uart, init_ready); struct hci_uart *hu = container_of(work, struct hci_uart, init_ready);
int err; int err;
......
...@@ -308,6 +308,7 @@ int hci_uart_register_device(struct hci_uart *hu, ...@@ -308,6 +308,7 @@ int hci_uart_register_device(struct hci_uart *hu,
hdev->bus = HCI_UART; hdev->bus = HCI_UART;
hci_set_drvdata(hdev, hu); hci_set_drvdata(hdev, hu);
INIT_WORK(&hu->init_ready, hci_uart_init_work);
INIT_WORK(&hu->write_work, hci_uart_write_work); INIT_WORK(&hu->write_work, hci_uart_write_work);
percpu_init_rwsem(&hu->proto_lock); percpu_init_rwsem(&hu->proto_lock);
......
...@@ -116,6 +116,7 @@ void hci_uart_unregister_device(struct hci_uart *hu); ...@@ -116,6 +116,7 @@ void hci_uart_unregister_device(struct hci_uart *hu);
int hci_uart_tx_wakeup(struct hci_uart *hu); int hci_uart_tx_wakeup(struct hci_uart *hu);
int hci_uart_init_ready(struct hci_uart *hu); int hci_uart_init_ready(struct hci_uart *hu);
void hci_uart_init_work(struct work_struct *work);
void hci_uart_set_baudrate(struct hci_uart *hu, unsigned int speed); void hci_uart_set_baudrate(struct hci_uart *hu, unsigned int speed);
void hci_uart_set_flow_control(struct hci_uart *hu, bool enable); void hci_uart_set_flow_control(struct hci_uart *hu, bool enable);
void hci_uart_set_speeds(struct hci_uart *hu, unsigned int init_speed, void hci_uart_set_speeds(struct hci_uart *hu, unsigned int init_speed,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment