Bluetooth: Introduce helper to pack mgmt version information
authorMarcel Holtmann <marcel@holtmann.org>
Sat, 27 Aug 2016 18:23:39 +0000 (20:23 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 19 Sep 2016 18:19:34 +0000 (20:19 +0200)
The mgmt version information will be also needed for the control
changell tracing feature. This provides a helper to pack them.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
include/net/bluetooth/hci_core.h
net/bluetooth/mgmt.c

index cc349f6..9f181b5 100644 (file)
@@ -1451,6 +1451,7 @@ void hci_mgmt_chan_unregister(struct hci_mgmt_chan *c);
 #define DISCOV_BREDR_INQUIRY_LEN       0x08
 #define DISCOV_LE_RESTART_DELAY                msecs_to_jiffies(200)   /* msec */
 
+void mgmt_fill_version_info(void *ver);
 int mgmt_new_settings(struct hci_dev *hdev);
 void mgmt_index_added(struct hci_dev *hdev);
 void mgmt_index_removed(struct hci_dev *hdev);
index 7639290..9071886 100644 (file)
@@ -278,6 +278,14 @@ static u8 le_addr_type(u8 mgmt_addr_type)
                return ADDR_LE_DEV_RANDOM;
 }
 
+void mgmt_fill_version_info(void *ver)
+{
+       struct mgmt_rp_read_version *rp = ver;
+
+       rp->version = MGMT_VERSION;
+       rp->revision = cpu_to_le16(MGMT_REVISION);
+}
+
 static int read_version(struct sock *sk, struct hci_dev *hdev, void *data,
                        u16 data_len)
 {
@@ -285,8 +293,7 @@ static int read_version(struct sock *sk, struct hci_dev *hdev, void *data,
 
        BT_DBG("sock %p", sk);
 
-       rp.version = MGMT_VERSION;
-       rp.revision = cpu_to_le16(MGMT_REVISION);
+       mgmt_fill_version_info(&rp);
 
        return mgmt_cmd_complete(sk, MGMT_INDEX_NONE, MGMT_OP_READ_VERSION, 0,
                                 &rp, sizeof(rp));