Bluetooth: fix vendor ext rssi link alert event
authorSeung-Woo Kim <sw0312.kim@samsung.com>
Wed, 28 Sep 2016 16:59:05 +0000 (01:59 +0900)
committerSeung-Woo Kim <sw0312.kim@samsung.com>
Wed, 14 Dec 2016 04:53:11 +0000 (13:53 +0900)
This patch fixes style for rssi link alert event from vendor
specific group ext.

Change-Id: I0e7003e417c5f5a590cce8264caccad515dd3c10
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
include/net/bluetooth/hci.h
include/net/bluetooth/hci_core.h
net/bluetooth/hci_event.c
net/bluetooth/mgmt.c

index 3598384aafa19731b08d515229a57c6557487f13..e1b25d48b88497f9311412cae0b766df67c6287d 100644 (file)
@@ -1498,12 +1498,6 @@ struct hci_cc_rsp_enable_rssi {
        __u8    le_ext_opcode;
 } __packed;
 
-struct hci_ev_vendor_specific_rssi_alert {
-       __le16  conn_handle;
-       __s8    alert_type;
-       __s8    rssi_dbm;
-} __packed;
-
 /*
  * Vendor Specific HCI Command
  * Vendor: Broadcom
@@ -1907,6 +1901,11 @@ struct hci_ev_ext_vendor_specific {
 } __packed;
 
 #define LE_RSSI_LINK_ALERT 0x02
+struct hci_ev_vendor_specific_rssi_alert {
+       __le16  conn_handle;
+       __s8    alert_type;
+       __s8    rssi_dbm;
+} __packed;
 #endif
 
 #define HCI_EV_LE_CONN_COMPLETE                0x01
index 23406b9114e5bce967fd25c7c81487ca77c034a3..a19322f561e6d7f93ca6df1d6047b2826f840c2c 100644 (file)
@@ -1502,7 +1502,8 @@ void mgmt_rssi_disable_success(struct sock *sk, struct hci_dev *hdev,
                void *data, struct hci_cc_rsp_enable_rssi *rp, int success);
 int mgmt_set_rssi_threshold(struct sock *sk, struct hci_dev *hdev,
                void *data, u16 len);
-void mgmt_rssi_alert_evt(struct hci_dev *hdev, struct sk_buff *skb);
+void mgmt_rssi_alert_evt(struct hci_dev *hdev, u16 conn_handle,
+               s8 alert_type, s8 rssi_dbm);
 void mgmt_raw_rssi_response(struct hci_dev *hdev,
                struct hci_cc_rp_get_raw_rssi *rp, int success);
 void mgmt_enable_rssi_cc(struct hci_dev *hdev, void *response, u8 status);
index 28392d47e887148a8385e2fbc065e8613d27b98c..f8113e1a6727a257ad7fa0517240f62943f653ed 100644 (file)
@@ -1450,6 +1450,17 @@ static void hci_cc_get_raw_rssi(struct hci_dev *hdev,
        mgmt_raw_rssi_response(hdev, rp, rp->status);
 }
 
+static void hci_vendor_ext_rssi_link_alert_evt(struct hci_dev *hdev,
+                                              struct sk_buff *skb)
+{
+       struct hci_ev_vendor_specific_rssi_alert *ev = (void *)skb->data;
+
+       BT_DBG("RSSI event LE_RSSI_LINK_ALERT %X", LE_RSSI_LINK_ALERT);
+
+       mgmt_rssi_alert_evt(hdev, ev->conn_handle, ev->alert_type,
+                           ev->rssi_dbm);
+}
+
 static void hci_vendor_specific_group_ext_evt(struct hci_dev *hdev,
                                              struct sk_buff *skb)
 {
@@ -1464,9 +1475,7 @@ static void hci_vendor_specific_group_ext_evt(struct hci_dev *hdev,
 
        switch (event_le_ext_sub_code) {
        case LE_RSSI_LINK_ALERT:
-               BT_DBG("RSSI event LE_RSSI_LINK_ALERT %X",
-                      LE_RSSI_LINK_ALERT);
-               mgmt_rssi_alert_evt(hdev, skb);
+               hci_vendor_ext_rssi_link_alert_evt(hdev, skb);
                break;
 
        default:
index e6aa28b89acf58db2672e8f50e0cfce45c28c018..26611808699c5d9dea9792341dc7b80e295b3c6e 100644 (file)
@@ -6602,16 +6602,16 @@ unlocked:
        return err;
 }
 
-void mgmt_rssi_alert_evt(struct hci_dev *hdev, struct sk_buff *skb)
+void mgmt_rssi_alert_evt(struct hci_dev *hdev, u16 conn_handle,
+               s8 alert_type, s8 rssi_dbm)
 {
-       struct hci_ev_vendor_specific_rssi_alert *ev = (void *)skb->data;
        struct mgmt_ev_vendor_specific_rssi_alert mgmt_ev;
        struct hci_conn *conn;
 
        BT_DBG("RSSI alert [%2.2X %2.2X %2.2X]",
-                       ev->conn_handle, ev->alert_type, ev->rssi_dbm);
+                       conn_handle, alert_type, rssi_dbm);
 
-       conn = hci_conn_hash_lookup_handle(hdev, ev->conn_handle);
+       conn = hci_conn_hash_lookup_handle(hdev, conn_handle);
 
        if (!conn) {
                BT_ERR("RSSI alert Error: Device not found for handle");
@@ -6624,8 +6624,8 @@ void mgmt_rssi_alert_evt(struct hci_dev *hdev, struct sk_buff *skb)
        else
                mgmt_ev.link_type = 0x00;
 
-       mgmt_ev.alert_type = ev->alert_type;
-       mgmt_ev.rssi_dbm = ev->rssi_dbm;
+       mgmt_ev.alert_type = alert_type;
+       mgmt_ev.rssi_dbm = rssi_dbm;
 
        mgmt_event(MGMT_EV_RSSI_ALERT, hdev, &mgmt_ev,
                        sizeof(struct mgmt_ev_vendor_specific_rssi_alert),