You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by cc...@apache.org on 2017/03/29 01:07:12 UTC

[09/17] incubator-mynewt-core git commit: BLE UART xport - sysinit panic on init fail.

BLE UART xport - sysinit panic on init fail.


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/commit/c44b4ade
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/c44b4ade
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/c44b4ade

Branch: refs/heads/develop
Commit: c44b4adeae797ec89f32fe821f062a7f27ee33be
Parents: e51ce9d
Author: Christopher Collins <cc...@apache.org>
Authored: Tue Mar 28 16:38:19 2017 -0700
Committer: Christopher Collins <cc...@apache.org>
Committed: Tue Mar 28 16:58:41 2017 -0700

----------------------------------------------------------------------
 .../uart/include/transport/uart/ble_hci_uart.h  |  2 +-
 net/nimble/transport/uart/src/ble_hci_uart.c    | 60 +++-----------------
 2 files changed, 9 insertions(+), 53 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/c44b4ade/net/nimble/transport/uart/include/transport/uart/ble_hci_uart.h
----------------------------------------------------------------------
diff --git a/net/nimble/transport/uart/include/transport/uart/ble_hci_uart.h b/net/nimble/transport/uart/include/transport/uart/ble_hci_uart.h
index d54fd66..e5e1084 100644
--- a/net/nimble/transport/uart/include/transport/uart/ble_hci_uart.h
+++ b/net/nimble/transport/uart/include/transport/uart/ble_hci_uart.h
@@ -24,7 +24,7 @@
 extern "C" {
 #endif
 
-int ble_hci_uart_init(void);
+void ble_hci_uart_init(void);
 
 #ifdef __cplusplus
 }

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/c44b4ade/net/nimble/transport/uart/src/ble_hci_uart.c
----------------------------------------------------------------------
diff --git a/net/nimble/transport/uart/src/ble_hci_uart.c b/net/nimble/transport/uart/src/ble_hci_uart.c
index 402c5a1..b1ffd8a 100755
--- a/net/nimble/transport/uart/src/ble_hci_uart.c
+++ b/net/nimble/transport/uart/src/ble_hci_uart.c
@@ -685,25 +685,6 @@ ble_hci_uart_free_pkt(uint8_t type, uint8_t *cmdevt, struct os_mbuf *acl)
     }
 }
 
-static void
-ble_hci_uart_free_mem(void)
-{
-    free(ble_hci_uart_evt_hi_buf);
-    ble_hci_uart_evt_hi_buf = NULL;
-
-    free(ble_hci_uart_evt_lo_buf);
-    ble_hci_uart_evt_lo_buf = NULL;
-
-    free(ble_hci_uart_pkt_buf);
-    ble_hci_uart_pkt_buf = NULL;
-
-    free(ble_hci_uart_acl_buf);
-    ble_hci_uart_acl_buf = NULL;
-
-    free(ble_hci_uart_cmd_buf);
-    ble_hci_uart_cmd_buf = NULL;
-}
-
 static int
 ble_hci_uart_config(void)
 {
@@ -967,7 +948,7 @@ ble_hci_trans_reset(void)
  * @return                      0 on success;
  *                              A BLE_ERR_[...] error code on failure.
  */
-int
+void
 ble_hci_uart_init(void)
 {
     int acl_data_length;
@@ -977,8 +958,6 @@ ble_hci_uart_init(void)
     /* Ensure this function only gets called by sysinit. */
     SYSINIT_ASSERT_ACTIVE();
 
-    ble_hci_uart_free_mem();
-
     /*
      * The MBUF payload size must accommodate the HCI data header size plus the
      * maximum ACL data packet length. The ACL block size is the size of the
@@ -994,14 +973,11 @@ ble_hci_uart_init(void)
                             acl_block_size,
                             "ble_hci_uart_acl_pool",
                             &ble_hci_uart_acl_buf);
-    if (rc != 0) {
-        rc = ble_err_from_os(rc);
-        goto err;
-    }
+    SYSINIT_PANIC_ASSERT(rc == 0);
 
     rc = os_mbuf_pool_init(&ble_hci_uart_acl_mbuf_pool, &ble_hci_uart_acl_pool,
                            acl_block_size, MYNEWT_VAL(BLE_ACL_BUF_COUNT));
-    assert(rc == 0);
+    SYSINIT_PANIC_ASSERT(rc == 0);
 
     /*
      * Create memory pool of HCI command buffers. NOTE: we currently dont
@@ -1014,30 +990,21 @@ ble_hci_uart_init(void)
                             BLE_HCI_TRANS_CMD_SZ,
                             "ble_hci_uart_cmd_pool",
                             &ble_hci_uart_cmd_buf);
-    if (rc != 0) {
-        rc = ble_err_from_os(rc);
-        goto err;
-    }
+    SYSINIT_PANIC_ASSERT(rc == 0);
 
     rc = mem_malloc_mempool(&ble_hci_uart_evt_hi_pool,
                             MYNEWT_VAL(BLE_HCI_EVT_HI_BUF_COUNT),
                             MYNEWT_VAL(BLE_HCI_EVT_BUF_SIZE),
                             "ble_hci_uart_evt_hi_pool",
                             &ble_hci_uart_evt_hi_buf);
-    if (rc != 0) {
-        rc = ble_err_from_os(rc);
-        goto err;
-    }
+    SYSINIT_PANIC_ASSERT(rc == 0);
 
     rc = mem_malloc_mempool(&ble_hci_uart_evt_lo_pool,
                             MYNEWT_VAL(BLE_HCI_EVT_LO_BUF_COUNT),
                             MYNEWT_VAL(BLE_HCI_EVT_BUF_SIZE),
                             "ble_hci_uart_evt_lo_pool",
                             &ble_hci_uart_evt_lo_buf);
-    if (rc != 0) {
-        rc = ble_err_from_os(rc);
-        goto err;
-    }
+    SYSINIT_PANIC_ASSERT(rc == 0);
 
     /*
      * Create memory pool of packet list nodes. NOTE: the number of these
@@ -1051,22 +1018,11 @@ ble_hci_uart_init(void)
                             sizeof (struct ble_hci_uart_pkt),
                             "ble_hci_uart_pkt_pool",
                             &ble_hci_uart_pkt_buf);
-    if (rc != 0) {
-        rc = ble_err_from_os(rc);
-        goto err;
-    }
+    SYSINIT_PANIC_ASSERT(rc == 0);
 
     rc = ble_hci_uart_config();
-    if (rc != 0) {
-        goto err;
-    }
+    SYSINIT_PANIC_ASSERT(rc == 0);
 
     memset(&ble_hci_uart_state, 0, sizeof ble_hci_uart_state);
     STAILQ_INIT(&ble_hci_uart_state.tx_pkts);
-
-    return 0;
-
-err:
-    ble_hci_uart_free_mem();
-    return rc;
 }