From owner-cvs-src@FreeBSD.ORG Thu Mar 20 05:35:02 2008 Return-Path: Delivered-To: cvs-src@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9DE68106566B; Thu, 20 Mar 2008 05:35:02 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 87D0B8FC1A; Thu, 20 Mar 2008 05:35:02 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2K5Z2Ap031763; Thu, 20 Mar 2008 05:35:02 GMT (envelope-from kmacy@repoman.freebsd.org) Received: (from kmacy@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2K5Z2wj031762; Thu, 20 Mar 2008 05:35:02 GMT (envelope-from kmacy) Message-Id: <200803200535.m2K5Z2wj031762@repoman.freebsd.org> From: Kip Macy Date: Thu, 20 Mar 2008 05:35:02 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/net if_ethersubr.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Mar 2008 05:35:03 -0000 kmacy 2008-03-20 05:35:02 UTC FreeBSD src repository Modified files: sys/net if_ethersubr.c Log: Don't re-initialize the interface if it is already running. This one line change makes the following code found in many ethernet device drivers (at least em, igb, ixgbe, and cxgb) gratuitous case SIOCSIFADDR: if (ifa->ifa_addr->sa_family == AF_INET) { /* * XXX * Since resetting hardware takes a very long time * and results in link renegotiation we only * initialize the hardware only when it is absolutely * required. */ ifp->if_flags |= IFF_UP; if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { EM_CORE_LOCK(adapter); em_init_locked(adapter); EM_CORE_UNLOCK(adapter); } arp_ifinit(ifp, ifa); } else error = ether_ioctl(ifp, command, data); break; Revision Changes Path 1.242 +2 -1 src/sys/net/if_ethersubr.c