Browse Source

Bluetooth: Fix updating background scan for LE connect complete

When we get an LE connection complete event we should restart background
scanning if there are any devices needing it. So far the code was only
making the decision based on whether the completed connection had any
stored parameters or not. This patch ensures that we trigger background
scanning always when necessary.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Johan Hedberg 11 năm trước cách đây
mục cha
commit
223683a54b
1 tập tin đã thay đổi với 2 bổ sung3 xóa
  1. 2 3
      net/bluetooth/hci_event.c

+ 2 - 3
net/bluetooth/hci_event.c

@@ -4196,12 +4196,11 @@ static void hci_le_conn_complete_evt(struct hci_dev *hdev, struct sk_buff *skb)
 	hci_proto_connect_cfm(conn, ev->status);
 	hci_proto_connect_cfm(conn, ev->status);
 
 
 	params = hci_conn_params_lookup(hdev, &conn->dst, conn->dst_type);
 	params = hci_conn_params_lookup(hdev, &conn->dst, conn->dst_type);
-	if (params) {
+	if (params)
 		list_del_init(&params->action);
 		list_del_init(&params->action);
-		hci_update_background_scan(hdev);
-	}
 
 
 unlock:
 unlock:
+	hci_update_background_scan(hdev);
 	hci_dev_unlock(hdev);
 	hci_dev_unlock(hdev);
 }
 }