From 9317105c37a0dc80fcfee70ca178c918b0a8c0ff Mon Sep 17 00:00:00 2001 From: goldsimon Date: Sat, 2 May 2009 15:40:39 +0000 Subject: [PATCH] Addition to patch #6721, bug #25575: call autoip_stop in dhcp_stop if in coop-mode --- CHANGELOG | 3 ++- src/core/dhcp.c | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index 4b7c6bb9..149820a1 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -110,7 +110,8 @@ HISTORY have to set IP_SOF_BROADCAST_RECV=1 in opt.h. 2009-04-28 Simon Goldschmidt, Jakob Stoklund Olesen - * dhcp.c: patch #6721: Some small fixes to DHCP and DHCP/AUTOIP cooperation + * dhcp.c: patch #6721, bugs #25575, #25576: Some small fixes to DHCP and + DHCP/AUTOIP cooperation 2009-04-25 Simon Goldschmidt, Oleg Tyshev * tcp_out.c: bug #24212: Deadlocked tcp_retransmit due to exceeded pcb->cwnd diff --git a/src/core/dhcp.c b/src/core/dhcp.c index 9bfcc6e9..64a1205f 100644 --- a/src/core/dhcp.c +++ b/src/core/dhcp.c @@ -1118,6 +1118,13 @@ dhcp_stop(struct netif *netif) LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | 3, ("dhcp_stop()\n")); /* netif is DHCP configured? */ if (dhcp != NULL) { +#if LWIP_DHCP_AUTOIP_COOP + if(dhcp->autoip_coop_state == DHCP_AUTOIP_COOP_STATE_ON) { + autoip_stop(netif); + dhcp->autoip_coop_state = DHCP_AUTOIP_COOP_STATE_OFF; + } +#endif /* LWIP_DHCP_AUTOIP_COOP */ + if (dhcp->pcb != NULL) { udp_remove(dhcp->pcb); dhcp->pcb = NULL;