From f3ba952b22abc3c2878ab0dd982fb97e29515c70 Mon Sep 17 00:00:00 2001 From: "adre.chang" Date: Tue, 4 Sep 2012 20:49:47 +0900 Subject: [PATCH] Timeout for searching modem Signed-off-by: adre.chang Change-Id: I59921e77160aeaaac3cd642de4c86539707dfa9c --- src/desc-imcmodem.c | 26 +++++++++++++++++--------- src/vnet.c | 2 +- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/desc-imcmodem.c b/src/desc-imcmodem.c index 168f87d..7a60133 100755 --- a/src/desc-imcmodem.c +++ b/src/desc-imcmodem.c @@ -224,20 +224,16 @@ static gboolean _do_exception_operation( TcoreHal *h, int fd, GIOCondition con ) return TRUE; } -static TReturn hal_power(TcoreHal *h, gboolean flag) +static gboolean _power_on( gpointer data ) { - //TcorePlugin *p = 0; struct custom_data *user_data = 0; - + TcoreHal *h = (TcoreHal*)data; gboolean ret = 0; user_data = tcore_hal_ref_user_data(h); - if (!user_data) - return TCORE_RETURN_FAILURE; - - if (flag == FALSE) { - /* power off not support */ - return TCORE_RETURN_FAILURE; + if (!user_data) { + dbg("[ error ] tcore_hal_ref_user_data()"); + return FALSE; } ret = _ipc0_init( h, &user_data->ipc0, on_recv_ipc_message ); @@ -246,6 +242,18 @@ static TReturn hal_power(TcoreHal *h, gboolean flag) tcore_hal_set_power_state(h, TRUE); + return FALSE; +} + +static TReturn hal_power(TcoreHal *h, gboolean flag) +{ + if (flag == FALSE) { + /* power off not support */ + return TCORE_RETURN_FAILURE; + } + + g_timeout_add_full( G_PRIORITY_HIGH, 500, _power_on, h, 0 ); + return TCORE_RETURN_SUCCESS; } diff --git a/src/vnet.c b/src/vnet.c index 09f9d50..4255131 100755 --- a/src/vnet.c +++ b/src/vnet.c @@ -142,7 +142,7 @@ int vnet_ipc0_open() break ; } - if ( ++cnt > 1000 ) + if ( ++cnt > 20 ) return -1; } -- 2.34.1