Commit 8757825b authored by Seungyoun Ju's avatar Seungyoun Ju Committed by Marcel Holtmann

Bluetooth: hci_check_conn_params() check proper range

Slave latency range has been changed in Core Spec. 4.2 by Erratum 5419
of ESR08_V1.0.0. And it should be applied to Core Spec. 4.0 and 4.1.

Before:
   connSlaveLatency <= ((connSupervisionTimeout / connIntervalMax) - 1)

After:
   connSlaveLatency <= ((connSupervisionTimeout / (connIntervalMax*2)) - 1)

This patch makes hci_check_conn_params() check the allowable slave
latency range using the changed way.
Signed-off-by: default avatarSeungyoun Ju <sy39.ju@samsung.com>
Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
parent fc586c41
...@@ -1297,7 +1297,7 @@ static inline int hci_check_conn_params(u16 min, u16 max, u16 latency, ...@@ -1297,7 +1297,7 @@ static inline int hci_check_conn_params(u16 min, u16 max, u16 latency,
if (max >= to_multiplier * 8) if (max >= to_multiplier * 8)
return -EINVAL; return -EINVAL;
max_latency = (to_multiplier * 8 / max) - 1; max_latency = (to_multiplier * 4 / max) - 1;
if (latency > 499 || latency > max_latency) if (latency > 499 || latency > max_latency)
return -EINVAL; return -EINVAL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment