aboutsummaryrefslogtreecommitdiffstats
path: root/net/bluetooth/hci_request.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/bluetooth/hci_request.c')
-rw-r--r--net/bluetooth/hci_request.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/net/bluetooth/hci_request.c b/net/bluetooth/hci_request.c
index 9997c31ef987..41b5f3813f02 100644
--- a/net/bluetooth/hci_request.c
+++ b/net/bluetooth/hci_request.c
@@ -1737,8 +1737,8 @@ static int le_scan_disable(struct hci_request *req, unsigned long opt)
1737static int bredr_inquiry(struct hci_request *req, unsigned long opt) 1737static int bredr_inquiry(struct hci_request *req, unsigned long opt)
1738{ 1738{
1739 u8 length = opt; 1739 u8 length = opt;
1740 /* General inquiry access code (GIAC) */ 1740 const u8 giac[3] = { 0x33, 0x8b, 0x9e };
1741 u8 lap[3] = { 0x33, 0x8b, 0x9e }; 1741 const u8 liac[3] = { 0x00, 0x8b, 0x9e };
1742 struct hci_cp_inquiry cp; 1742 struct hci_cp_inquiry cp;
1743 1743
1744 BT_DBG("%s", req->hdev->name); 1744 BT_DBG("%s", req->hdev->name);
@@ -1748,7 +1748,12 @@ static int bredr_inquiry(struct hci_request *req, unsigned long opt)
1748 hci_dev_unlock(req->hdev); 1748 hci_dev_unlock(req->hdev);
1749 1749
1750 memset(&cp, 0, sizeof(cp)); 1750 memset(&cp, 0, sizeof(cp));
1751 memcpy(&cp.lap, lap, sizeof(cp.lap)); 1751
1752 if (req->hdev->discovery.limited)
1753 memcpy(&cp.lap, liac, sizeof(cp.lap));
1754 else
1755 memcpy(&cp.lap, giac, sizeof(cp.lap));
1756
1752 cp.length = length; 1757 cp.length = length;
1753 1758
1754 hci_req_add(req, HCI_OP_INQUIRY, sizeof(cp), &cp); 1759 hci_req_add(req, HCI_OP_INQUIRY, sizeof(cp), &cp);