drivers: modem: gsm: define retry delay in macro

Define the delay used to reschedule work when AT command failed
in a macro.

Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
This commit is contained in:
Yong Cong Sin 2022-02-26 00:00:15 +08:00 committed by Carles Cufí
commit 6e6009ea55

View file

@ -39,6 +39,7 @@ LOG_MODULE_REGISTER(modem_gsm, CONFIG_MODEM_LOG_LEVEL);
#define GSM_RECV_MAX_BUF 30 #define GSM_RECV_MAX_BUF 30
#define GSM_RECV_BUF_SIZE 128 #define GSM_RECV_BUF_SIZE 128
#define GSM_ATTACH_RETRY_DELAY_MSEC 1000 #define GSM_ATTACH_RETRY_DELAY_MSEC 1000
#define GSM_RETRY_DELAY K_SECONDS(1)
#define GSM_RSSI_RETRY_DELAY_MSEC 2000 #define GSM_RSSI_RETRY_DELAY_MSEC 2000
#define GSM_RSSI_RETRIES 10 #define GSM_RSSI_RETRIES 10
@ -103,8 +104,7 @@ static struct gsm_modem {
struct net_mgmt_event_callback gsm_mgmt_cb; struct net_mgmt_event_callback gsm_mgmt_cb;
} gsm; } gsm;
NET_BUF_POOL_DEFINE(gsm_recv_pool, GSM_RECV_MAX_BUF, GSM_RECV_BUF_SIZE, NET_BUF_POOL_DEFINE(gsm_recv_pool, GSM_RECV_MAX_BUF, GSM_RECV_BUF_SIZE, 0, NULL);
0, NULL);
K_KERNEL_STACK_DEFINE(gsm_rx_stack, GSM_RX_STACK_SIZE); K_KERNEL_STACK_DEFINE(gsm_rx_stack, GSM_RX_STACK_SIZE);
K_KERNEL_STACK_DEFINE(gsm_workq_stack, GSM_WORKQ_STACK_SIZE); K_KERNEL_STACK_DEFINE(gsm_workq_stack, GSM_WORKQ_STACK_SIZE);
@ -626,7 +626,7 @@ static void gsm_finalize_connection(struct k_work *work)
GSM_CMD_AT_TIMEOUT); GSM_CMD_AT_TIMEOUT);
if (ret < 0) { if (ret < 0) {
LOG_ERR("%s returned %d, %s", "AT", ret, "retrying..."); LOG_ERR("%s returned %d, %s", "AT", ret, "retrying...");
(void)gsm_work_reschedule(&gsm->gsm_configure_work, K_SECONDS(1)); (void)gsm_work_reschedule(&gsm->gsm_configure_work, GSM_RETRY_DELAY);
return; return;
} }
} }
@ -645,8 +645,7 @@ static void gsm_finalize_connection(struct k_work *work)
if (ret < 0) { if (ret < 0) {
LOG_ERR("%s returned %d, %s", "gsm_setup_mccmno", ret, "retrying..."); LOG_ERR("%s returned %d, %s", "gsm_setup_mccmno", ret, "retrying...");
(void)gsm_work_reschedule(&gsm->gsm_configure_work, (void)gsm_work_reschedule(&gsm->gsm_configure_work, GSM_RETRY_DELAY);
K_SECONDS(1));
return; return;
} }
@ -658,14 +657,14 @@ static void gsm_finalize_connection(struct k_work *work)
GSM_CMD_SETUP_TIMEOUT); GSM_CMD_SETUP_TIMEOUT);
if (ret < 0) { if (ret < 0) {
LOG_DBG("%s returned %d, %s", "setup_cmds", ret, "retrying..."); LOG_DBG("%s returned %d, %s", "setup_cmds", ret, "retrying...");
(void)gsm_work_reschedule(&gsm->gsm_configure_work, K_SECONDS(1)); (void)gsm_work_reschedule(&gsm->gsm_configure_work, GSM_RETRY_DELAY);
return; return;
} }
ret = gsm_query_modem_info(gsm); ret = gsm_query_modem_info(gsm);
if (ret < 0) { if (ret < 0) {
LOG_DBG("Unable to query modem information %d", ret); LOG_DBG("Unable to query modem information %d", ret);
(void)gsm_work_reschedule(&gsm->gsm_configure_work, K_SECONDS(1)); (void)gsm_work_reschedule(&gsm->gsm_configure_work, GSM_RETRY_DELAY);
return; return;
} }
@ -735,7 +734,7 @@ attaching:
GSM_CMD_SETUP_TIMEOUT); GSM_CMD_SETUP_TIMEOUT);
if (ret < 0) { if (ret < 0) {
LOG_DBG("%s returned %d, %s", "connect_cmds", ret, "retrying..."); LOG_DBG("%s returned %d, %s", "connect_cmds", ret, "retrying...");
(void)gsm_work_reschedule(&gsm->gsm_configure_work, K_SECONDS(1)); (void)gsm_work_reschedule(&gsm->gsm_configure_work, GSM_RETRY_DELAY);
return; return;
} }