diff options
author | David S. Miller <davem@davemloft.net> | 2014-12-18 15:32:27 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-12-18 15:32:27 -0500 |
commit | 7dce675b28bcd7f9daf3eef896ec2757255e2623 (patch) | |
tree | 9e3deab8024bdb8146e78a0578344f077f349bfa | |
parent | ac9a3d84e121196263636f2d38d439a45888005a (diff) | |
parent | ea8ae2516ac43028a01c40b58ffa80d3b0afb802 (diff) |
Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth
Johan Hedberg says:
====================
pull request: bluetooth 2014-12-17
Here's the first direct (i.e. skipping the wireless tree) bluetooth pull
request for you, intended for 3.19. It's just one patch: a fix from
Marcel for for remote service discovery filtering which also fixes a
'used uninitialized' compiler warning.
Please let me know if there are any issues pulling. Thanks.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/bluetooth/mgmt.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c index 06c2e652e4b6..693ce8bcd06e 100644 --- a/net/bluetooth/mgmt.c +++ b/net/bluetooth/mgmt.c | |||
@@ -7081,13 +7081,15 @@ void mgmt_device_found(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type, | |||
7081 | * kept and checking possible scan response data | 7081 | * kept and checking possible scan response data |
7082 | * will be skipped. | 7082 | * will be skipped. |
7083 | */ | 7083 | */ |
7084 | if (hdev->discovery.uuid_count > 0) { | 7084 | if (hdev->discovery.uuid_count > 0) |
7085 | match = eir_has_uuids(eir, eir_len, | 7085 | match = eir_has_uuids(eir, eir_len, |
7086 | hdev->discovery.uuid_count, | 7086 | hdev->discovery.uuid_count, |
7087 | hdev->discovery.uuids); | 7087 | hdev->discovery.uuids); |
7088 | if (!match) | 7088 | else |
7089 | return; | 7089 | match = true; |
7090 | } | 7090 | |
7091 | if (!match && !scan_rsp_len) | ||
7092 | return; | ||
7091 | 7093 | ||
7092 | /* Copy EIR or advertising data into event */ | 7094 | /* Copy EIR or advertising data into event */ |
7093 | memcpy(ev->eir, eir, eir_len); | 7095 | memcpy(ev->eir, eir, eir_len); |
@@ -7096,8 +7098,10 @@ void mgmt_device_found(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type, | |||
7096 | * provided, results with empty EIR or advertising data | 7098 | * provided, results with empty EIR or advertising data |
7097 | * should be dropped since they do not match any UUID. | 7099 | * should be dropped since they do not match any UUID. |
7098 | */ | 7100 | */ |
7099 | if (hdev->discovery.uuid_count > 0) | 7101 | if (hdev->discovery.uuid_count > 0 && !scan_rsp_len) |
7100 | return; | 7102 | return; |
7103 | |||
7104 | match = false; | ||
7101 | } | 7105 | } |
7102 | 7106 | ||
7103 | if (dev_class && !eir_has_data_type(ev->eir, eir_len, EIR_CLASS_OF_DEV)) | 7107 | if (dev_class && !eir_has_data_type(ev->eir, eir_len, EIR_CLASS_OF_DEV)) |