Fix LE buffer size for 0 length buffers

If the local chip reports 0 LE data buffers and 0 LE ACL data package
length, then the default ACL buffer length as returned byt the
Read_Buffer_Size command is to be used instead.

Change-Id: I953fabe426a98cc1b005d3b46c3e7f227c23a686
diff --git a/stack/btm/btm_devctl.c b/stack/btm/btm_devctl.c
index e893edf..8e883d7 100644
--- a/stack/btm/btm_devctl.c
+++ b/stack/btm/btm_devctl.c
@@ -784,6 +784,9 @@
         STREAM_TO_UINT16 (btu_cb.hcit_ble_acl_data_size, p);
         STREAM_TO_UINT8 (lm_num_le_bufs,   p);
 
+        if (btu_cb.hcit_ble_acl_data_size == 0)
+            btu_cb.hcit_ble_acl_data_size = btu_cb.hcit_acl_data_size;
+
         btu_cb.hcit_ble_acl_pkt_size = btu_cb.hcit_ble_acl_data_size + HCI_DATA_PREAMBLE_SIZE;
 
         l2c_link_processs_ble_num_bufs (lm_num_le_bufs);
diff --git a/stack/l2cap/l2c_ble.c b/stack/l2cap/l2c_ble.c
index 0a296c8..e323587 100644
--- a/stack/l2cap/l2c_ble.c
+++ b/stack/l2cap/l2c_ble.c
@@ -622,6 +622,8 @@
 *******************************************************************************/
 void l2c_link_processs_ble_num_bufs (UINT16 num_lm_ble_bufs)
 {
+    if (num_lm_ble_bufs == 0)
+        num_lm_ble_bufs = l2cb.num_lm_acl_bufs;
     l2cb.num_lm_ble_bufs = l2cb.controller_le_xmit_window = num_lm_ble_bufs;
 }