From owner-svn-src-head@FreeBSD.ORG Sun Mar 15 20:42:42 2015 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 30E88292; Sun, 15 Mar 2015 20:42:42 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1CA2A19F; Sun, 15 Mar 2015 20:42:42 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t2FKgfhm068800; Sun, 15 Mar 2015 20:42:41 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t2FKgfg6068799; Sun, 15 Mar 2015 20:42:41 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201503152042.t2FKgfg6068799@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sun, 15 Mar 2015 20:42:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r280074 - head/sys/dev/wpi X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2015 20:42:42 -0000 Author: adrian Date: Sun Mar 15 20:42:41 2015 New Revision: 280074 URL: https://svnweb.freebsd.org/changeset/base/280074 Log: Move some code under WPI_LOCK(). PR: kern/197143 Submitted by: Andriy Voskoboinyk Modified: head/sys/dev/wpi/if_wpi.c Modified: head/sys/dev/wpi/if_wpi.c ============================================================================== --- head/sys/dev/wpi/if_wpi.c Sun Mar 15 20:41:57 2015 (r280073) +++ head/sys/dev/wpi/if_wpi.c Sun Mar 15 20:42:41 2015 (r280074) @@ -2408,6 +2408,9 @@ wpi_cmd2(struct wpi_softc *sc, struct wp if (++ring->queued > WPI_TX_RING_HIMARK) sc->qfullmsk |= 1 << ring->qid; + if (ring->qid < WPI_CMD_QUEUE_NUM) + sc->sc_tx_timer = 5; + DPRINTF(sc, WPI_DEBUG_TRACE, TRACE_STR_END, __func__); WPI_TXQ_UNLOCK(sc); @@ -2722,8 +2725,6 @@ wpi_raw_xmit(struct ieee80211_node *ni, return error; } - sc->sc_tx_timer = 5; - DPRINTF(sc, WPI_DEBUG_TRACE, TRACE_STR_END, __func__); return 0; @@ -2771,8 +2772,7 @@ wpi_start_locked(struct ifnet *ifp) ieee80211_free_node(ni); WPI_LOCK(sc); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - } else - sc->sc_tx_timer = 5; + } } DPRINTF(sc, WPI_DEBUG_XMIT, "%s: done\n", __func__); @@ -3195,9 +3195,9 @@ wpi_update_promisc(struct ifnet *ifp) { struct wpi_softc *sc = ifp->if_softc; + WPI_LOCK(sc); wpi_set_promisc(sc); - WPI_LOCK(sc); if (wpi_send_rxon(sc, 1, 1) != 0) { device_printf(sc->sc_dev, "%s: could not send RXON\n", __func__);