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)
committerJunghoon Kim <jhoon20.kim@samsung.com>
Thu, 2 Apr 2020 04:09:05 +0000 (13:09 +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>
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
include/net/bluetooth/hci.h
include/net/bluetooth/hci_core.h
net/bluetooth/hci_event.c
net/bluetooth/mgmt.c

index 252e0bf..7fe16b5 100644 (file)
@@ -1708,12 +1708,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
@@ -2117,6 +2111,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 50b3132..0538dea 100644 (file)
@@ -1664,7 +1664,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 457849a..2fa62e5 100644 (file)
@@ -1631,6 +1631,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)
 {
@@ -1645,9 +1656,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 9e5b85f..78d0b2f 100644 (file)
@@ -6182,16 +6182,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");
@@ -6204,8 +6204,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),