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) {
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to