summaryrefslogtreecommitdiff
path: root/src/ipcpd/shim-udp/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ipcpd/shim-udp/main.c')
-rw-r--r--src/ipcpd/shim-udp/main.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/ipcpd/shim-udp/main.c b/src/ipcpd/shim-udp/main.c
index c6c16ebf..48fa141e 100644
--- a/src/ipcpd/shim-udp/main.c
+++ b/src/ipcpd/shim-udp/main.c
@@ -775,6 +775,11 @@ static void * ipcp_udp_sdu_loop(void * o)
int len = 0;
char * buf;
+ e = shm_ap_rbuff_read(_ap_instance->rb);
+ if (e == NULL) {
+ continue;
+ }
+
rw_lock_rdlock(&_ipcp->state_lock);
if (_ipcp->state != IPCP_ENROLLED) {
@@ -782,13 +787,6 @@ static void * ipcp_udp_sdu_loop(void * o)
return (void *) 1; /* -ENOTENROLLED */
}
- e = shm_ap_rbuff_read(_ap_instance->rb);
-
- if (e == NULL) {
- rw_lock_unlock(&_ipcp->state_lock);
- continue;
- }
-
len = shm_du_map_read_sdu((uint8_t **) &buf,
_ap_instance->dum,
e->index);