Diff between 4cd914bd4fdc113f7ef87ae6dd1f917f402df359 and f9b9a06c9362961a043a023a4d578ca269f76b93

Changed Files

File Additions Deletions Status
emulator/btdev.c +3 -6 modified

Full Patch

diff --git a/emulator/btdev.c b/emulator/btdev.c
index d69c234..5fceace 100644
--- a/emulator/btdev.c
+++ b/emulator/btdev.c
@@ -979,9 +979,6 @@ static void pin_code_req_reply_complete(struct btdev *btdev,
 	}
 
 	ev.handle = cpu_to_le16(42);
-	send_event(btdev, BT_HCI_EVT_AUTH_COMPLETE, &ev, sizeof(ev));
-
-	ev.handle = cpu_to_le16(42);
 	send_event(remote, BT_HCI_EVT_AUTH_COMPLETE, &ev, sizeof(ev));
 
 	btdev->pin_len = 0;
@@ -998,12 +995,12 @@ static void pin_code_req_neg_reply_complete(struct btdev *btdev,
 		return;
 
 	ev.status = BT_HCI_ERR_PIN_OR_KEY_MISSING;
-
 	ev.handle = cpu_to_le16(42);
+
 	send_event(btdev, BT_HCI_EVT_AUTH_COMPLETE, &ev, sizeof(ev));
 
-	ev.handle = cpu_to_le16(42);
-	send_event(remote, BT_HCI_EVT_AUTH_COMPLETE, &ev, sizeof(ev));
+	if (remote->pin_len)
+		send_event(remote, BT_HCI_EVT_AUTH_COMPLETE, &ev, sizeof(ev));
 }
 
 static void auth_request_complete(struct btdev *btdev, uint16_t handle)