diff --git a/kernel/mars_server.c b/kernel/mars_server.c index c8896166..5ca7206f 100644 --- a/kernel/mars_server.c +++ b/kernel/mars_server.c @@ -77,9 +77,11 @@ int cb_thread(void *data) status = -EINVAL; CHECK_PTR(mref, err); - down(&brick->socket_sem); - status = mars_send_cb(sock, mref); - up(&brick->socket_sem); + if (!aborted) { + down(&brick->socket_sem); + status = mars_send_cb(sock, mref); + up(&brick->socket_sem); + } err: if (unlikely(status < 0) && !aborted) {