Browse Source

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: Seungyoun Ju <sy39.ju@samsung.com>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Seungyoun Ju 10 years ago
parent
commit
8757825b12
1 changed files with 1 additions and 1 deletions
  1. 1 1
      include/net/bluetooth/hci_core.h

+ 1 - 1
include/net/bluetooth/hci_core.h

@@ -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;