From 4d46e8205ae2483c51a50e34f41329c71ccb79c7 Mon Sep 17 00:00:00 2001 From: zhangyanjiao Date: Wed, 2 Nov 2022 14:50:34 +0800 Subject: [PATCH] lwip: fix the bug that long time to get IP --- components/lwip/lwip | 2 +- components/lwip/port/esp32/include/lwipopts.h | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/components/lwip/lwip b/components/lwip/lwip index 9bad641bc7..705dd71d46 160000 --- a/components/lwip/lwip +++ b/components/lwip/lwip @@ -1 +1 @@ -Subproject commit 9bad641bc7378d2eb1ba84834baafaf119135206 +Subproject commit 705dd71d46779bf29653f1f1d7b1af5a09fb2aa7 diff --git a/components/lwip/port/esp32/include/lwipopts.h b/components/lwip/port/esp32/include/lwipopts.h index 32b66b5eda..a4baa0c863 100644 --- a/components/lwip/port/esp32/include/lwipopts.h +++ b/components/lwip/port/esp32/include/lwipopts.h @@ -344,7 +344,9 @@ extern "C" { /* Since for embedded devices it's not that hard to miss a discover packet, so lower * the discover retry backoff time from (2,4,8,16,32,60,60)s to (500m,1,2,4,8,15,15)s. */ -#define DHCP_REQUEST_TIMEOUT_SEQUENCE(tries) (( (tries) < 6 ? 1 << (tries) : 60) * 250) +#define DHCP_REQUEST_TIMEOUT_SEQUENCE(state, tries) (state == DHCP_STATE_REQUESTING ? \ + (uint16_t)(1 * 1000) : \ + (uint16_t)(((tries) < 6 ? 1 << (tries) : 60) * 250)) static inline uint32_t timeout_from_offered(uint32_t lease, uint32_t min) {