From: Johan Hedberg <johan.hedberg@xxxxxxxxx> Now that whitelist information is temporarily held in hci_conn objects the calls leading to update_page_scan() will occasionally happen even though page scanning is already in the state we want it to be. To avoid redundant changes to it simply check the HCI_PSCAN flag before sending any HCI command. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> --- net/bluetooth/mgmt.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c index 4f56855c1fbb..4d96913484cd 100644 --- a/net/bluetooth/mgmt.c +++ b/net/bluetooth/mgmt.c @@ -5258,6 +5258,10 @@ static void update_page_scan(struct hci_dev *hdev, u8 scan) if (test_bit(HCI_CONNECTABLE, &hdev->dev_flags)) return; + /* Don't bother updating page scan if it's already what we want */ + if (test_bit(HCI_PSCAN, &hdev->flags) == !!(scan & SCAN_PAGE)) + return; + if (test_bit(HCI_DISCOVERABLE, &hdev->dev_flags)) scan |= SCAN_INQUIRY; -- 1.9.3 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html