Bluetooth: Allow mgmt_device_found events for kernel-side scanning
When the kernel is doing LE scanning because of one or more devices added with action 0x00 through the Add Device command we do want to let mgmt_device_found() to proceed with sending an event. This kind of devices are tracked with hdev->pend_le_reports, so check this value before bailing out from the function. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
851efca838
commit
75ce208cc4
|
@ -6472,8 +6472,16 @@ void mgmt_device_found(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type,
|
|||
struct smp_irk *irk;
|
||||
size_t ev_size;
|
||||
|
||||
if (!hci_discovery_active(hdev))
|
||||
return;
|
||||
/* Don't send events for a non-kernel initiated discovery. With
|
||||
* LE one exception is if we have pend_le_reports > 0 in which
|
||||
* case we're doing passive scanning and want these events.
|
||||
*/
|
||||
if (!hci_discovery_active(hdev)) {
|
||||
if (link_type == ACL_LINK)
|
||||
return;
|
||||
if (link_type == LE_LINK && !hdev->pend_le_reports)
|
||||
return;
|
||||
}
|
||||
|
||||
/* Make sure that the buffer is big enough. The 5 extra bytes
|
||||
* are for the potential CoD field.
|
||||
|
|
Loading…
Reference in New Issue