From owner-freebsd-wireless@FreeBSD.ORG Mon Nov 21 21:47:47 2011 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1F71E1065670; Mon, 21 Nov 2011 21:47:47 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id ADE7C8FC14; Mon, 21 Nov 2011 21:47:46 +0000 (UTC) Received: by vbbfa15 with SMTP id fa15so4616507vbb.13 for ; Mon, 21 Nov 2011 13:47:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=Spx9npsiC8jCinIFNr/Qg4VAkF3tFGPdaOnosZ5hlr8=; b=WnmqjzedLq9VDpL9lHHjmRFXXN35u/KgR8ST+IsN9aIX0kpNLNwJ0GmeEFJ0btMB99 2WUeDY+6i50j5epdywr+0WFAP5I6WH8mjFabZPMf058E48yzF+1RKqYxoqoxwWNDeJzq IoEUZeB8whQHOtHBYlBHlb/Fc3JKYW/qP+oyo= MIME-Version: 1.0 Received: by 10.52.72.104 with SMTP id c8mr17090536vdv.105.1321912065765; Mon, 21 Nov 2011 13:47:45 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.52.29.198 with HTTP; Mon, 21 Nov 2011 13:47:45 -0800 (PST) In-Reply-To: References: <20111121131730.GA3599@freebsd.org> <20111121152054.GA22220@freebsd.org> Date: Tue, 22 Nov 2011 05:47:45 +0800 X-Google-Sender-Auth: gVH9CB3IXBGghB_rtqojh2ufRfU Message-ID: From: Adrian Chadd To: Warren Block Content-Type: text/plain; charset=ISO-8859-1 Cc: Alexander Best , freebsd-wireless@freebsd.org Subject: Re: issues with the recent ath commits (r227740, r227651, ...) X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussions of 802.11 stack, tools device driver development." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Nov 2011 21:47:47 -0000 Hi, Please try this patch: commit 3993972ed7407867dce188903f68a0751c487fbb Author: Adrian Chadd Date: Tue Nov 22 05:28:16 2011 +0800 Sleep on the correct lock. diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c index 83c5ede..84cb91b 100644 --- a/sys/dev/ath/if_ath.c +++ b/sys/dev/ath/if_ath.c @@ -1878,9 +1878,9 @@ ath_txrx_stop(struct ath_softc *sc) */ while (sc->sc_rxproc_cnt || sc->sc_txproc_cnt || sc->sc_txstart_cnt || sc->sc_intr_cnt) { - if (i <= 0) + if (i <= 0) break; - msleep(sc, &sc->sc_mtx, 0, "ath_txrx_stop", 1); + msleep(sc, &sc->sc_pcu_mtx, 0, "ath_txrx_stop", 1); i--; } ATH_PCU_UNLOCK(sc);