Bluetooth: hci_ldisc: Add missing clear HCI_UART_PROTO_READY
Ensure that HCI_UART_PROTO_READY is cleared before close(hu) is called which closes the Data Link protocol layer. Therefore, add the missing bit clear of HCI_UART_PROTO_READY to hci_uart_init_work() so that the flag is cleared when hci_register_dev fails. Without the fix, the functions of the Data Link protocol layer could potentially be accessed after that layer has been closed. This could lead to a crash as memory would have been freed in that layer. Signed-off-by: Dean Jenkins <Dean_Jenkins@mentor.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
a225b8c70a
commit
d160b74da8
|
@ -188,6 +188,7 @@ static void hci_uart_init_work(struct work_struct *work)
|
||||||
hdev = hu->hdev;
|
hdev = hu->hdev;
|
||||||
hu->hdev = NULL;
|
hu->hdev = NULL;
|
||||||
hci_free_dev(hdev);
|
hci_free_dev(hdev);
|
||||||
|
clear_bit(HCI_UART_PROTO_READY, &hu->flags);
|
||||||
hu->proto->close(hu);
|
hu->proto->close(hu);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue