Bluetooth: Connection parameters check helper
This patch renames l2cap_check_conn_param() to hci_check_conn_params() and moves it to hci_core.h so it can reused in others files. This helper will be reused in the next patch. Signed-off-by: Andre Guedes <andre.guedes@openbossa.org> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
c20c02d5c8
commit
d4905f2453
@ -1181,6 +1181,27 @@ static inline struct smp_irk *hci_get_irk(struct hci_dev *hdev,
|
|||||||
return hci_find_irk_by_rpa(hdev, bdaddr);
|
return hci_find_irk_by_rpa(hdev, bdaddr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline int hci_check_conn_params(u16 min, u16 max, u16 latency,
|
||||||
|
u16 to_multiplier)
|
||||||
|
{
|
||||||
|
u16 max_latency;
|
||||||
|
|
||||||
|
if (min > max || min < 6 || max > 3200)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
if (to_multiplier < 10 || to_multiplier > 3200)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
if (max >= to_multiplier * 8)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
max_latency = (to_multiplier * 8 / max) - 1;
|
||||||
|
if (latency > 499 || latency > max_latency)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int hci_register_cb(struct hci_cb *hcb);
|
int hci_register_cb(struct hci_cb *hcb);
|
||||||
int hci_unregister_cb(struct hci_cb *hcb);
|
int hci_unregister_cb(struct hci_cb *hcb);
|
||||||
|
|
||||||
|
@ -5213,27 +5213,6 @@ static inline int l2cap_move_channel_confirm_rsp(struct l2cap_conn *conn,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int l2cap_check_conn_param(u16 min, u16 max, u16 latency,
|
|
||||||
u16 to_multiplier)
|
|
||||||
{
|
|
||||||
u16 max_latency;
|
|
||||||
|
|
||||||
if (min > max || min < 6 || max > 3200)
|
|
||||||
return -EINVAL;
|
|
||||||
|
|
||||||
if (to_multiplier < 10 || to_multiplier > 3200)
|
|
||||||
return -EINVAL;
|
|
||||||
|
|
||||||
if (max >= to_multiplier * 8)
|
|
||||||
return -EINVAL;
|
|
||||||
|
|
||||||
max_latency = (to_multiplier * 8 / max) - 1;
|
|
||||||
if (latency > 499 || latency > max_latency)
|
|
||||||
return -EINVAL;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int l2cap_conn_param_update_req(struct l2cap_conn *conn,
|
static inline int l2cap_conn_param_update_req(struct l2cap_conn *conn,
|
||||||
struct l2cap_cmd_hdr *cmd,
|
struct l2cap_cmd_hdr *cmd,
|
||||||
u16 cmd_len, u8 *data)
|
u16 cmd_len, u8 *data)
|
||||||
@ -5261,7 +5240,7 @@ static inline int l2cap_conn_param_update_req(struct l2cap_conn *conn,
|
|||||||
|
|
||||||
memset(&rsp, 0, sizeof(rsp));
|
memset(&rsp, 0, sizeof(rsp));
|
||||||
|
|
||||||
err = l2cap_check_conn_param(min, max, latency, to_multiplier);
|
err = hci_check_conn_params(min, max, latency, to_multiplier);
|
||||||
if (err)
|
if (err)
|
||||||
rsp.result = cpu_to_le16(L2CAP_CONN_PARAM_REJECTED);
|
rsp.result = cpu_to_le16(L2CAP_CONN_PARAM_REJECTED);
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user