From: "Gustavo F. Padovan" <padovan@profusion.mobi>
To: Vinicius Costa Gomes <vinicius.gomes@openbossa.org>
Cc: linux-bluetooth@vger.kernel.org
Subject: Re: [RFC] Bluetooth: Add link_type information to the mgmt Connected event
Date: Thu, 16 Jun 2011 17:56:39 -0300 [thread overview]
Message-ID: <20110616205639.GD2594@joana> (raw)
In-Reply-To: <1307745283-12160-1-git-send-email-vinicius.gomes@openbossa.org>
* Vinicius Costa Gomes <vinicius.gomes@openbossa.org> [2011-06-10 19:34:43 -0300]:
> One piece of information that was lost when using the mgmt interface,
> was the type of the connection. Using HCI events we used to know
> the type of the connection based on the type of the event, e.g.
> HCI_LE_Connection_Complete for LE links.
>
> Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@openbossa.org>
> ---
>
> Johan,
>
> From my SM series, the other patch that adds information to the mgmt
> interface is:
> "Bluetooth: Add new structures for supporting SM key distribution"
> from Jun 7.
>
> Cheers,
>
>
> include/net/bluetooth/hci_core.h | 2 +-
> include/net/bluetooth/mgmt.h | 1 +
> net/bluetooth/hci_event.c | 4 ++--
> net/bluetooth/mgmt.c | 3 ++-
> 4 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
> index 404872d..5de3866 100644
> --- a/include/net/bluetooth/hci_core.h
> +++ b/include/net/bluetooth/hci_core.h
> @@ -834,7 +834,7 @@ int mgmt_powered(u16 index, u8 powered);
> int mgmt_discoverable(u16 index, u8 discoverable);
> int mgmt_connectable(u16 index, u8 connectable);
> int mgmt_new_key(u16 index, struct link_key *key, u8 persistent);
> -int mgmt_connected(u16 index, bdaddr_t *bdaddr);
> +int mgmt_connected(u16 index, bdaddr_t *bdaddr, u8 link_type);
> int mgmt_disconnected(u16 index, bdaddr_t *bdaddr);
> int mgmt_disconnect_failed(u16 index);
> int mgmt_connect_failed(u16 index, bdaddr_t *bdaddr, u8 status);
> diff --git a/include/net/bluetooth/mgmt.h b/include/net/bluetooth/mgmt.h
> index 129d4b3..9663f5d 100644
> --- a/include/net/bluetooth/mgmt.h
> +++ b/include/net/bluetooth/mgmt.h
> @@ -239,6 +239,7 @@ struct mgmt_ev_new_key {
> #define MGMT_EV_CONNECTED 0x000B
> struct mgmt_ev_connected {
> bdaddr_t bdaddr;
> + __u8 link_type;
> } __packed;
>
> #define MGMT_EV_DISCONNECTED 0x000C
> diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
> index 620f307..bc3a0b6 100644
> --- a/net/bluetooth/hci_event.c
> +++ b/net/bluetooth/hci_event.c
> @@ -1356,7 +1356,7 @@ static inline void hci_conn_complete_evt(struct hci_dev *hdev, struct sk_buff *s
> conn->state = BT_CONFIG;
> hci_conn_hold(conn);
> conn->disc_timeout = HCI_DISCONN_TIMEOUT;
> - mgmt_connected(hdev->id, &ev->bdaddr);
> + mgmt_connected(hdev->id, &ev->bdaddr, conn->type);
> } else
> conn->state = BT_CONNECTED;
>
> @@ -2752,7 +2752,7 @@ static inline void hci_le_conn_complete_evt(struct hci_dev *hdev, struct sk_buff
> goto unlock;
> }
>
> - mgmt_connected(hdev->id, &ev->bdaddr);
> + mgmt_connected(hdev->id, &ev->bdaddr, conn->type);
>
> conn->sec_level = BT_SECURITY_LOW;
> conn->handle = __le16_to_cpu(ev->handle);
> diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
> index bf8f84e..1373a32 100644
> --- a/net/bluetooth/mgmt.c
> +++ b/net/bluetooth/mgmt.c
> @@ -1942,11 +1942,12 @@ int mgmt_new_key(u16 index, struct link_key *key, u8 persistent)
> return err;
> }
>
> -int mgmt_connected(u16 index, bdaddr_t *bdaddr)
> +int mgmt_connected(u16 index, bdaddr_t *bdaddr, u8 link_type)
> {
> struct mgmt_ev_connected ev;
>
> bacpy(&ev.bdaddr, bdaddr);
> + ev.link_type = link_type;
>
> return mgmt_event(MGMT_EV_CONNECTED, index, &ev, sizeof(ev), NULL);
> }
Seems good to me. Anyone else has comments on it?
Gustavo
next prev parent reply other threads:[~2011-06-16 20:56 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-10 22:34 [RFC] Bluetooth: Add link_type information to the mgmt Connected event Vinicius Costa Gomes
2011-06-16 20:56 ` Gustavo F. Padovan [this message]
2011-06-16 21:09 ` Johan Hedberg
2011-06-16 21:50 ` Marcel Holtmann
2011-06-16 21:57 ` Vinicius Costa Gomes
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110616205639.GD2594@joana \
--to=padovan@profusion.mobi \
--cc=linux-bluetooth@vger.kernel.org \
--cc=vinicius.gomes@openbossa.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.