diff --git a/components/net/at/src/at_client.c b/components/net/at/src/at_client.c index 788549392d7461aa0a135b72bffe5fa3c53c567c..f46abd5cd47cc39c4551fb1f122a26abed9a8cb9 100644 --- a/components/net/at/src/at_client.c +++ b/components/net/at/src/at_client.c @@ -436,13 +436,13 @@ static rt_err_t at_client_getchar(at_client_t client, char *ch, rt_int32_t timeo while (rt_device_read(client->device, 0, ch, 1) == 0) { - rt_sem_control(client->rx_notice, RT_IPC_CMD_RESET, RT_NULL); - result = rt_sem_take(client->rx_notice, rt_tick_from_millisecond(timeout)); if (result != RT_EOK) { return result; } + + rt_sem_control(client->rx_notice, RT_IPC_CMD_RESET, RT_NULL); } return RT_EOK;