aboutsummaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorYi He <yi.he@linaro.org>2016-06-02 11:04:15 +0000
committerMaxim Uvarov <maxim.uvarov@linaro.org>2016-06-02 15:58:56 +0300
commite215a34ff64dcb26a7d071bf9eeb7516d20e6fda (patch)
tree8d421aecbd875a089f3195fb07beb59b8bffda1e /platform
parent9d2ee6f85a8ed2502eb1238c39ccb5a6f44d1d87 (diff)
linux-generic: pktio: ipc: _ring_tailq_init() at global init
Fix the uninitialized Q and RW lock which may cause occasional segmentation fault in _ring_create() etc. Signed-off-by: Yi He <yi.he@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'platform')
-rw-r--r--platform/linux-generic/pktio/ipc.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/platform/linux-generic/pktio/ipc.c b/platform/linux-generic/pktio/ipc.c
index 8508824e7..e11da86f7 100644
--- a/platform/linux-generic/pktio/ipc.c
+++ b/platform/linux-generic/pktio/ipc.c
@@ -737,10 +737,16 @@ static int ipc_close(pktio_entry_t *pktio_entry)
return 0;
}
+static int ipc_pktio_init_global(void)
+{
+ _ring_tailq_init();
+ return 0;
+}
+
const pktio_if_ops_t ipc_pktio_ops = {
.name = "ipc",
.print = NULL,
- .init_global = NULL,
+ .init_global = ipc_pktio_init_global,
.init_local = NULL,
.term = NULL,
.open = ipc_pktio_open,