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)
committerJaehoon Chung <jh80.chung@samsung.com>
Tue, 29 Apr 2025 03:38:24 +0000 (12:38 +0900)
This patch fixes style for rssi link alert event from vendor
specific group ext.

Change-Id: I98b8cff96f4051c0babb6718d55152b2fc1f3992
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
include/net/bluetooth/hci.h
include/net/bluetooth/hci_core.h
net/bluetooth/hci_event.c
net/bluetooth/mgmt.c

index b1a350baa34b493e6fa09471f4e9f3e0389d4a97..e5256902c6901574c94acf2f37e63f8c0ad7f11c 100644 (file)
@@ -2191,12 +2191,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
@@ -2618,6 +2612,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 0018256359cdc8d2569fb03b1ea18d8cae943f02..a7e2a32437da5dbc4c4eea04cd731137f69dce5d 100644 (file)
@@ -2405,7 +2405,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 dd08abdd4d1bbab88e09c0b4af410f3709ef4515..564df347fcd53aaf982db9e7c285efe8c868f375 100644 (file)
@@ -2204,6 +2204,17 @@ static u8 hci_cc_get_raw_rssi(struct hci_dev *hdev, void *data,
        return 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)
 {
@@ -2218,9 +2229,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 563a306de7b36cb6834acb80763316c82d95dea8..95c69d886eeea89f4d399e3cbf90a51012d94ae2 100644 (file)
@@ -8250,16 +8250,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");
@@ -8272,8 +8272,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),