Date: Thu, 29 Aug 2013 12:48:12 +0000 (UTC) From: Luiz Otavio O Souza <loos@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r255021 - head/sys/mips/atheros Message-ID: <201308291248.r7TCmC8E014084@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: loos Date: Thu Aug 29 12:48:12 2013 New Revision: 255021 URL: http://svnweb.freebsd.org/changeset/base/255021 Log: Prevent the full restart cycle every time arge_start() is called. Only (re)start the interface when it is down. This change fix a race with BOOTP where the response packet is lost because the interface is being reset by a netmask change right after send the packet. PR: 178318 Approved by: adrian (mentor) Modified: head/sys/mips/atheros/if_arge.c Modified: head/sys/mips/atheros/if_arge.c ============================================================================== --- head/sys/mips/atheros/if_arge.c Thu Aug 29 12:25:12 2013 (r255020) +++ head/sys/mips/atheros/if_arge.c Thu Aug 29 12:48:12 2013 (r255021) @@ -1019,7 +1019,8 @@ arge_init_locked(struct arge_softc *sc) ARGE_LOCK_ASSERT(sc); - arge_stop(sc); + if ((ifp->if_flags & IFF_UP) && (ifp->if_drv_flags & IFF_DRV_RUNNING)) + return; /* Init circular RX list. */ if (arge_rx_ring_init(sc) != 0) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201308291248.r7TCmC8E014084>