summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
Diffstat (limited to 'components')
-rw-r--r--components/net/at/at_socket/at_socket.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/components/net/at/at_socket/at_socket.c b/components/net/at/at_socket/at_socket.c
index 84325c1501..80b86f8198 100644
--- a/components/net/at/at_socket/at_socket.c
+++ b/components/net/at/at_socket/at_socket.c
@@ -715,7 +715,19 @@ __exit:
}
else
{
- at_do_event_changes(sock, AT_EVENT_ERROR, RT_TRUE);
+ /* try to read Legacy data */
+ /* receive packet list last transmission of remaining data */
+ rt_mutex_take(sock->recv_lock, RT_WAITING_FOREVER);
+ recv_len = at_recvpkt_get(&(sock->recvpkt_list), (char *)mem, len);
+ rt_mutex_release(sock->recv_lock);
+ if(recv_len<=0)
+ {
+ at_do_event_changes(sock, AT_EVENT_ERROR, RT_TRUE);
+ }
+ else
+ {
+ result = recv_len;
+ }
}
return result;