summary refs log tree commit diff
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/bluetooth/hci_ag6xx.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/bluetooth/hci_ag6xx.c b/drivers/bluetooth/hci_ag6xx.c
index ea65c2d089ed..6923d17a022f 100644
--- a/drivers/bluetooth/hci_ag6xx.c
+++ b/drivers/bluetooth/hci_ag6xx.c
@@ -174,6 +174,9 @@ static int ag6xx_setup(struct hci_uart *hu)
 	bool patched = false;
 	int err;
 
+	hu->hdev->set_diag = btintel_set_diag;
+	hu->hdev->set_bdaddr = btintel_set_bdaddr;
+
 	err = btintel_enter_mfg(hdev);
 	if (err)
 		return err;
@@ -298,8 +301,16 @@ patch:
 complete:
 	/* Exit manufacturing mode and reset */
 	err = btintel_exit_mfg(hdev, true, patched);
+	if (err)
+		return err;
 
-	return err;
+	/* Set the event mask for Intel specific vendor events. This enables
+	 * a few extra events that are useful during general operation.
+	 */
+	btintel_set_event_mask_mfg(hdev, false);
+
+	btintel_check_bdaddr(hdev);
+	return 0;
 }
 
 static const struct hci_uart_proto ag6xx_proto = {