Hi Andre, On Fri, Nov 04, 2011 at 02:16:51PM -0300, Andre Guedes wrote: > This patch adds a function to hci_core to carry out inquiry. > > All inquiry code from start_discovery() were replaced by a > hci_do_inquiry() call. > > Signed-off-by: Andre Guedes <andre.guedes@xxxxxxxxxxxxx> > --- > include/net/bluetooth/hci_core.h | 2 ++ > net/bluetooth/hci_core.c | 17 +++++++++++++++++ > net/bluetooth/mgmt.c | 9 +-------- > 3 files changed, 20 insertions(+), 8 deletions(-) > > diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h > index f97792c..ae36ac0 100644 > --- a/include/net/bluetooth/hci_core.h > +++ b/include/net/bluetooth/hci_core.h > @@ -970,4 +970,6 @@ void hci_le_start_enc(struct hci_conn *conn, __le16 ediv, __u8 rand[8], > void hci_le_ltk_reply(struct hci_conn *conn, u8 ltk[16]); > void hci_le_ltk_neg_reply(struct hci_conn *conn); > > +int hci_do_inquiry(struct hci_dev *hdev, u8 length); > + > #endif /* __HCI_CORE_H */ > diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c > index b7f6b5b..098f26c 100644 > --- a/net/bluetooth/hci_core.c > +++ b/net/bluetooth/hci_core.c > @@ -2560,3 +2560,20 @@ static void hci_cmd_task(unsigned long arg) > } > } > } > + > +int hci_do_inquiry(struct hci_dev *hdev, u8 length) > +{ > + u8 lap[3] = { 0x33, 0x8b, 0x9e }; what are those numbers above? > + struct hci_cp_inquiry cp; > + > + BT_DBG("%s", hdev->name); > + > + if (test_bit(HCI_INQUIRY, &hdev->flags)) > + return -EINPROGRESS; > + > + memset(&cp, 0, sizeof(cp)); > + memcpy(&cp.lap, lap, 3); sizeof(lap) looks better Best regards Andrei Emeltchenko > + cp.length = length; > + > + return hci_send_cmd(hdev, HCI_OP_INQUIRY, sizeof(cp), &cp); > +} > diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c > index 747366a..25dda47 100644 > --- a/net/bluetooth/mgmt.c > +++ b/net/bluetooth/mgmt.c > @@ -1598,8 +1598,6 @@ static int remove_remote_oob_data(struct sock *sk, u16 index, > > static int start_discovery(struct sock *sk, u16 index) > { > - u8 lap[3] = { 0x33, 0x8b, 0x9e }; > - struct hci_cp_inquiry cp; > struct pending_cmd *cmd; > struct hci_dev *hdev; > int err; > @@ -1618,12 +1616,7 @@ static int start_discovery(struct sock *sk, u16 index) > goto failed; > } > > - memset(&cp, 0, sizeof(cp)); > - memcpy(&cp.lap, lap, 3); > - cp.length = 0x08; > - cp.num_rsp = 0x00; > - > - err = hci_send_cmd(hdev, HCI_OP_INQUIRY, sizeof(cp), &cp); > + err = hci_do_inquiry(hdev, 0x08); > if (err < 0) > mgmt_pending_remove(cmd); > > -- > 1.7.7.1 > > -- > 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 -- 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