From 8b3125261d326b6985240cd76e28bc5544d06fda Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Fri, 13 Jan 2012 10:47:44 +0000 Subject: [PATCH] [TCPIP] - Fix a bug where a static IP configuration was not properly restored after a media state change svn path=/branches/wlan-bringup/; revision=54934 --- drivers/network/tcpip/tcpip/dispatch.c | 3 +++ lib/drivers/ip/network/ip.c | 1 + 2 files changed, 4 insertions(+) diff --git a/drivers/network/tcpip/tcpip/dispatch.c b/drivers/network/tcpip/tcpip/dispatch.c index e75a87f6e63..d0417a9a1ce 100644 --- a/drivers/network/tcpip/tcpip/dispatch.c +++ b/drivers/network/tcpip/tcpip/dispatch.c @@ -1568,6 +1568,7 @@ NTSTATUS DispTdiSetIPAddress( PIRP Irp, PIO_STACK_LOCATION IrpSp ) { TI_DbgPrint(MID_TRACE,("New Netmask : %x\n", IF->Netmask.Address.IPv4Address)); + IF->DhcpEnabled = FALSE; IPAddInterfaceRoute( IF ); IpAddrChange->Address = IF->Index; @@ -1599,6 +1600,8 @@ NTSTATUS DispTdiDeleteIPAddress( PIRP Irp, PIO_STACK_LOCATION IrpSp ) { IF->Broadcast.Type = IP_ADDRESS_V4; IF->Broadcast.Address.IPv4Address = 0; + + IF->DhcpEnabled = TRUE; Status = STATUS_SUCCESS; } } EndFor(IF); diff --git a/lib/drivers/ip/network/ip.c b/lib/drivers/ip/network/ip.c index a422bb6dd77..70fbdb59690 100644 --- a/lib/drivers/ip/network/ip.c +++ b/lib/drivers/ip/network/ip.c @@ -214,6 +214,7 @@ PIP_INTERFACE IPCreateInterface( IF->PointToPoint.Type = IP_ADDRESS_V4; IF->Netmask.Type = IP_ADDRESS_V4; IF->Broadcast.Type = IP_ADDRESS_V4; + IF->StaticRouter.Type = IP_ADDRESS_V4; TcpipInitializeSpinLock(&IF->Lock);