Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1347379 > unrolled thread

[PATCH 4.4 147/342] Bluetooth: Use continuous scanning when creating LE connections

Started byGreg Kroah-Hartman <gregkh@linuxfoundation.org>
First post2016-03-02 02:00 +0100
Last post2016-03-02 02:00 +0100
Articles 1 — 1 participant

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 4.4 147/342] Bluetooth: Use continuous scanning when creating LE connections Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-03-02 02:00 +0100

#1347379 — [PATCH 4.4 147/342] Bluetooth: Use continuous scanning when creating LE connections

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2016-03-02 02:00 +0100
Subject[PATCH 4.4 147/342] Bluetooth: Use continuous scanning when creating LE connections
Message-ID<r83iY-8oR-69@gated-at.bofh.it>
4.4-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Johan Hedberg <johan.hedberg@intel.com>

commit 2f99536a5b34d5b0f54723067d68f6cef3f0fdc6 upstream.

All LE connections are now triggered through a preceding passive scan
and waiting for a connectable advertising report. This means we've got
the best possible guarantee that the device is within range and should
be able to request the controller to perform continuous scanning. This
way we minimize the risk that we miss out on any advertising packets.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 net/bluetooth/hci_conn.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

--- a/net/bluetooth/hci_conn.c
+++ b/net/bluetooth/hci_conn.c
@@ -722,8 +722,12 @@ static void hci_req_add_le_create_conn(s
 	if (hci_update_random_address(req, false, &own_addr_type))
 		return;
 
+	/* Set window to be the same value as the interval to enable
+	 * continuous scanning.
+	 */
 	cp.scan_interval = cpu_to_le16(hdev->le_scan_interval);
-	cp.scan_window = cpu_to_le16(hdev->le_scan_window);
+	cp.scan_window = cp.scan_interval;
+
 	bacpy(&cp.peer_addr, &conn->dst);
 	cp.peer_addr_type = conn->dst_type;
 	cp.own_address_type = own_addr_type;

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web