Skip site navigation (1)Skip section navigation (2)
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>