Do not reject valid connection parameter updates

As a side-effect to increasing BTM_BLE_CONN_INT_MIN, valid connection
parameter updates can be rejected if the requested minimum is < 11.25ms,
but the requested maximum is >= 11.25ms.

This patch introduces a new parameter "BTM_BLE_CONN_INT_LIMIT" and
resets BTM_BLE_CONN_INT_MIN to the HCI spec defined minimum.

Bug: 22245224
Change-Id: I6a2e4d18488b63570f7d0070413d00f16a7fdba1
diff --git a/stack/include/btm_ble_api.h b/stack/include/btm_ble_api.h
index 84d26e3..23ec59a 100644
--- a/stack/include/btm_ble_api.h
+++ b/stack/include/btm_ble_api.h
@@ -127,7 +127,7 @@
 #define BTM_BLE_SCAN_WIN_MAX            0x4000
 #define BTM_BLE_EXT_SCAN_INT_MAX        0x00FFFFFF
 #define BTM_BLE_EXT_SCAN_WIN_MAX        0xFFFF
-#define BTM_BLE_CONN_INT_MIN            0x0009
+#define BTM_BLE_CONN_INT_MIN            0x0006
 #define BTM_BLE_CONN_INT_MAX            0x0C80
 #define BTM_BLE_CONN_LATENCY_MAX        500
 #define BTM_BLE_CONN_SUP_TOUT_MIN       0x000A
@@ -165,19 +165,27 @@
 #ifndef BTM_BLE_CONN_INT_MIN_DEF
 #define BTM_BLE_CONN_INT_MIN_DEF     24      /* recommended min: 30ms  = 24 * 1.25 */
 #endif
+
 /* default connectino interval max */
 #ifndef BTM_BLE_CONN_INT_MAX_DEF
 #define BTM_BLE_CONN_INT_MAX_DEF     40      /* recommended max: 50 ms = 56 * 1.25 */
 #endif
+
 /* default slave latency */
 #ifndef BTM_BLE_CONN_SLAVE_LATENCY_DEF
 #define BTM_BLE_CONN_SLAVE_LATENCY_DEF  0      /* 0 */
 #endif
+
 /* default supervision timeout */
 #ifndef BTM_BLE_CONN_TIMEOUT_DEF
 #define BTM_BLE_CONN_TIMEOUT_DEF    2000
 #endif
 
+/* minimum acceptable connection interval */
+#ifndef BTM_BLE_CONN_INT_MIN_LIMIT
+#define BTM_BLE_CONN_INT_MIN_LIMIT     0x0009
+#endif
+
 #define BTM_BLE_DIR_CONN_FALLBACK_UNDIR         1
 #define BTM_BLE_DIR_CONN_FALLBACK_NO_ADV        2
 
diff --git a/stack/l2cap/l2c_ble.c b/stack/l2cap/l2c_ble.c
index 2460bd4..a5cfb4d 100644
--- a/stack/l2cap/l2c_ble.c
+++ b/stack/l2cap/l2c_ble.c
@@ -632,6 +632,9 @@
             /* If we are a master, the slave wants to update the parameters */
             if (p_lcb->link_role == HCI_ROLE_MASTER)
             {
+                if (min_interval < BTM_BLE_CONN_INT_MIN_LIMIT)
+                    min_interval = BTM_BLE_CONN_INT_MIN_LIMIT;
+
                 if (min_interval < BTM_BLE_CONN_INT_MIN || min_interval > BTM_BLE_CONN_INT_MAX ||
                     max_interval < BTM_BLE_CONN_INT_MIN || max_interval > BTM_BLE_CONN_INT_MAX ||
                     latency  > BTM_BLE_CONN_LATENCY_MAX ||