From owner-freebsd-wireless@FreeBSD.ORG Sat Aug 4 21:12:28 2012 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 17D2D106564A for ; Sat, 4 Aug 2012 21:12:28 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-pb0-f54.google.com (mail-pb0-f54.google.com [209.85.160.54]) by mx1.freebsd.org (Postfix) with ESMTP id D58BA8FC0A for ; Sat, 4 Aug 2012 21:12:27 +0000 (UTC) Received: by pbbro2 with SMTP id ro2so3542491pbb.13 for ; Sat, 04 Aug 2012 14:12:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=i9fBX6XIRiYPB7uVnVQEgvr/5S4bK6laEZwDtylzSUA=; b=aWvDRktPPOWZzSsZ+hI9da9aycpvqeNkPdBFeBCQlMMGEJhq9KRc8PBP4781N6M006 ie+4J/hN+cxeOrV7Vlup4cNE/zZd0/W5KA5PWkMO2zPXx0I09yU5qaiYuXdhA3DDb4jh 8RUCFOcV/ouGf/MRR00SIPGTg2TT/VOyrkYyzL4/9pDIFVOfWcVAuxLF0qVSA4FPsMSx oqZAHQ71yQ5TxFwSN9Ej0TNgI4MglXHXPVxE0QCHMvVCs660Gset6WFTTqn8emU2YWiD BKPIWL8i43LxVbXg9YUCXS4d0WxrSfNe+B+iTdxdFlvcHNCcVNRCzkd+IFOlJdR4hrBF kROw== MIME-Version: 1.0 Received: by 10.66.72.169 with SMTP id e9mr7691294pav.44.1344114741083; Sat, 04 Aug 2012 14:12:21 -0700 (PDT) Received: by 10.68.115.232 with HTTP; Sat, 4 Aug 2012 14:12:21 -0700 (PDT) In-Reply-To: References: Date: Sat, 4 Aug 2012 14:12:21 -0700 Message-ID: From: Adrian Chadd To: PseudoCylon Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-wireless@freebsd.org, Kim Culhan Subject: Re: ath lor 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: Sat, 04 Aug 2012 21:12:28 -0000 On 4 August 2012 05:38, PseudoCylon wrote: >> This is a bit odd. I've not seen that, but you're testing with USB, right? >> > > Yes with run(4). Most likely, it calls ieee80211_free_node() while > driver lock is held. > http://fxr.watson.org/fxr/source/dev/usb/wlan/if_run.c#L2705 Ok. I really, really should set up a -CURRENT laptop today/tonight. I've found it ok to compile -HEAD net80211/wifi drivers on -9, but trying to compile -9 USB drivers and stack on -HEAD is proving to be rather annoying/challenging. I've acquired a couple of run NICs (that do 11n, too!) so I'll be able to test that out very soon. What's the path through the stack -> driver that leads to run_tx_free() being called with the driver lock held? And on the flip side, what's the path through the driver -> stack that's called with the driver lock held? The comlock shouldn't be held when TX/RX'ing packets up to the stack. >> I just saw a LOR between a node lock and a tcpinp lock. i was doing >> some iperf to an AR5416 802.11n AP running iperf locally. I've not >> seen this before as I've not run a NIC in AP mode with local traffic >> termination; I've only had APs do bridging. >> > > It hasn't caused LOR with run(4), but if_start() is called with tcpinp > lock is held when bridging or with multiple vaps in AP mode. That > non-sleepable lock causes different problem with USB devices. > http://fxr.watson.org/fxr/source/dev/usb/wlan/if_run.c#L3089 Odd. I saw that happen with no bridge interface configured. Hm. I'll gather some more data soon. I'm trying to fix some TX descriptor buffer issues that creep up if the air is congested and TX stalls for a bit. I've not seen it occur on 5GHz as the air wasn't ever really congested. >> Thanks for chasing this down. Let me know if you see the node/power or >> node/scan LORs? > > Not so far, only scan/com LOR, the same one I mentioned before. Hm, maybe we should start a wiki page with all of the net80211/wifi driver LORs. Do you have wiki.freebsd.org access? If not, create an account and tell me what username you choose. If you do, create a page under http://wiki.freebsd.org/WiFi and let's start documenting the LORs that we see. Adrian