Commit d21db3d5 authored by Frédéric Leroy's avatar Frédéric Leroy

UE/ESM: fix esm_pt_start_timer callback

parent 610624d4
...@@ -302,7 +302,7 @@ int esm_proc_pdn_connectivity_request(nas_user_t *user, int is_standalone, int p ...@@ -302,7 +302,7 @@ int esm_proc_pdn_connectivity_request(nas_user_t *user, int is_standalone, int p
if (rc != RETURNerror) { if (rc != RETURNerror) {
/* Start T3482 retransmission timer */ /* Start T3482 retransmission timer */
rc = esm_pt_start_timer(pti, msg, T3482_DEFAULT_VALUE, rc = esm_pt_start_timer(user, pti, msg, T3482_DEFAULT_VALUE,
_pdn_connectivity_t3482_handler); _pdn_connectivity_t3482_handler);
} }
} }
...@@ -635,7 +635,7 @@ static void *_pdn_connectivity_t3482_handler(void *args) ...@@ -635,7 +635,7 @@ static void *_pdn_connectivity_t3482_handler(void *args)
if (rc != RETURNerror) { if (rc != RETURNerror) {
/* Restart the timer T3482 */ /* Restart the timer T3482 */
rc = esm_pt_start_timer(data->pti, &data->msg, T3482_DEFAULT_VALUE, rc = esm_pt_start_timer(user, data->pti, &data->msg, T3482_DEFAULT_VALUE,
_pdn_connectivity_t3482_handler); _pdn_connectivity_t3482_handler);
} }
} else { } else {
......
...@@ -191,7 +191,7 @@ int esm_proc_pdn_disconnect_request(nas_user_t *user, int is_standalone, int pti ...@@ -191,7 +191,7 @@ int esm_proc_pdn_disconnect_request(nas_user_t *user, int is_standalone, int pti
if (rc != RETURNerror) { if (rc != RETURNerror) {
/* Start T3482 retransmission timer */ /* Start T3482 retransmission timer */
rc = esm_pt_start_timer(pti, msg, T3492_DEFAULT_VALUE, rc = esm_pt_start_timer(user, pti, msg, T3492_DEFAULT_VALUE,
_pdn_disconnect_t3492_handler); _pdn_disconnect_t3492_handler);
} }
} }
...@@ -382,7 +382,6 @@ int esm_proc_pdn_disconnect_reject(nas_user_t *user, int pti, int *esm_cause) ...@@ -382,7 +382,6 @@ int esm_proc_pdn_disconnect_reject(nas_user_t *user, int pti, int *esm_cause)
static void *_pdn_disconnect_t3492_handler(void *args) static void *_pdn_disconnect_t3492_handler(void *args)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
// FIXME check callback call
nas_user_t *user = args; nas_user_t *user = args;
esm_data_t *esm_data = _esm_data;; esm_data_t *esm_data = _esm_data;;
int rc; int rc;
...@@ -411,7 +410,7 @@ static void *_pdn_disconnect_t3492_handler(void *args) ...@@ -411,7 +410,7 @@ static void *_pdn_disconnect_t3492_handler(void *args)
if (rc != RETURNerror) { if (rc != RETURNerror) {
/* Restart the timer T3492 */ /* Restart the timer T3492 */
rc = esm_pt_start_timer(data->pti, &data->msg, T3492_DEFAULT_VALUE, rc = esm_pt_start_timer(user, data->pti, &data->msg, T3492_DEFAULT_VALUE,
_pdn_disconnect_t3492_handler); _pdn_disconnect_t3492_handler);
} }
} else { } else {
......
...@@ -264,7 +264,7 @@ int esm_pt_release(int pti) ...@@ -264,7 +264,7 @@ int esm_pt_release(int pti)
** Others: _esm_pt_data ** ** Others: _esm_pt_data **
** ** ** **
***************************************************************************/ ***************************************************************************/
int esm_pt_start_timer(int pti, const OctetString *msg, int esm_pt_start_timer(nas_user_t *user, int pti, const OctetString *msg,
long sec, nas_timer_callback_t cb) long sec, nas_timer_callback_t cb)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -291,6 +291,7 @@ int esm_pt_start_timer(int pti, const OctetString *msg, ...@@ -291,6 +291,7 @@ int esm_pt_start_timer(int pti, const OctetString *msg,
ctx->args = (esm_pt_timer_data_t *)malloc(sizeof(esm_pt_timer_data_t)); ctx->args = (esm_pt_timer_data_t *)malloc(sizeof(esm_pt_timer_data_t));
if (ctx->args) { if (ctx->args) {
ctx->args->user = user;
/* Set the EPS bearer identity */ /* Set the EPS bearer identity */
ctx->args->pti = pti; ctx->args->pti = pti;
/* Reset the retransmission counter */ /* Reset the retransmission counter */
...@@ -308,7 +309,6 @@ int esm_pt_start_timer(int pti, const OctetString *msg, ...@@ -308,7 +309,6 @@ int esm_pt_start_timer(int pti, const OctetString *msg,
* time interval */ * time interval */
ctx->timer.id = nas_timer_start(sec, cb, ctx->args); ctx->timer.id = nas_timer_start(sec, cb, ctx->args);
ctx->timer.sec = sec; ctx->timer.sec = sec;
// FIXME add user
} }
} }
......
...@@ -86,7 +86,7 @@ void esm_pt_initialize(void); ...@@ -86,7 +86,7 @@ void esm_pt_initialize(void);
int esm_pt_assign(void); int esm_pt_assign(void);
int esm_pt_release(int pti); int esm_pt_release(int pti);
int esm_pt_start_timer(int pti, const OctetString *msg, long sec, int esm_pt_start_timer(nas_user_t *user, int pti, const OctetString *msg, long sec,
nas_timer_callback_t cb); nas_timer_callback_t cb);
int esm_pt_stop_timer(int pti); int esm_pt_stop_timer(int pti);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment