From owner-freebsd-current@FreeBSD.ORG Wed Sep 22 22:42:23 2010 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3B3321065670 for ; Wed, 22 Sep 2010 22:42:23 +0000 (UTC) (envelope-from moonlightakkiy@yahoo.ca) Received: from web51807.mail.re2.yahoo.com (web51807.mail.re2.yahoo.com [206.190.38.238]) by mx1.freebsd.org (Postfix) with SMTP id D40438FC15 for ; Wed, 22 Sep 2010 22:42:22 +0000 (UTC) Received: (qmail 31848 invoked by uid 60001); 22 Sep 2010 22:42:22 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.ca; s=s1024; t=1285195342; bh=e8tlKDfvlTVBdJf7bxsWKkzmtNQUPzud6M+l1g6/X/g=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:References:Date:From:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type; b=luuPs7vS8KRuOELeBX6zXDBohF+1l05UesjjS31U7JP1b0AV7RNyp17i0cj6F+CUdPhYveWLgsGvNyA5CUKWdVNsWfO5txAhsydeRy/K7cRDtNK1jr1ZxstKjd+QryGdSJQ0tDlW2GHevxUgzhVYxBm/W1EWnloyX8t5CKQqIX4= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.ca; h=Message-ID:X-YMail-OSG:Received:X-Mailer:References:Date:From:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type; b=dk9kQwVO1bpNN+nOZ4LLYU/ODjfeG58on6FMEdMgIs2+8lQ1U3d7hMWb4g1/kutQo79GhWdi7vYaX5h5ngKeo05bO7uE0JauxG6PhN8v66ZmC20EB8NLq/Yfp56/Yss3wEyB2ncMEj+VAeAY9cXUVE+DXy3+E9XDeKG8Nidk0PU=; Message-ID: <129192.25720.qm@web51807.mail.re2.yahoo.com> X-YMail-OSG: DiISFN4VM1l0K8TK2RlQmLlsv5tbWfoiB7lczfXHAXPY3xa eKRb14Ddk.LPyZJZDIPpXEJRxJ.tr0jgRcqyg8xqRjZe0qXUeq0W4P.Dg7qU Bg5FBhXgCWWpUHXaOlyQeAHGkUPR_iqKdlt0rGDF5dvrRsbVHAiGm5EAYSUr 8YEqyq5VlOBI3ycFG8Lz7fBvahhFXCBbTkap7bN_yqoaURopob4758_hWNL7 Odjei8g6pP7QE82Rsi7aIalGnAbmKA1iedRhgz7l0essuZM6XoBaYuuwbBex zz8NmPFuV3hRS7IobydPffCD.DW2zH1oGJftK_jLmv_OH8dTBohSTq3oyInT YUw-- Received: from [173.183.132.20] by web51807.mail.re2.yahoo.com via HTTP; Wed, 22 Sep 2010 15:42:21 PDT X-Mailer: YahooMailRC/497 YahooMailWebService/0.8.105.279950 References: <20100919120012.A77371065674@hub.freebsd.org> <367708.1588.qm@web51805.mail.re2.yahoo.com> <201009220809.36641.bschmidt@techwires.net> Date: Wed, 22 Sep 2010 15:42:21 -0700 (PDT) From: PseudoCylon To: Bernhard Schmidt , freebsd-current@freebsd.org In-Reply-To: <201009220809.36641.bschmidt@techwires.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Adrian Chadd Subject: Re: RFT: if_ath HAL refactoring X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Sep 2010 22:42:23 -0000 ----- Original Message ---- > From: Bernhard Schmidt > To: freebsd-current@freebsd.org > Cc: PseudoCylon ; Adrian Chadd > Sent: Wed, September 22, 2010 12:09:36 AM > Subject: Re: RFT: if_ath HAL refactoring > > On Wednesday, September 22, 2010 06:04:49 PseudoCylon wrote: > > ----- Original Message ---- > > > > > From: Adrian Chadd > > > To: PseudoCylon > > > Cc: freebsd-current@freebsd.org > > > Sent: Tue, September 21, 2010 7:04:37 AM > > > Subject: Re: RFT: if_ath HAL refactoring > > > > > > On 21 September 2010 11:58, PseudoCylon wrote: > > > > Just in case anyone wonders, I've added 11n support to run(4) (USB > > > > NIC). http://gitorious.org/run/run/trees/11n_beta2 > > > > > > > > It still has some issues, > > > > > > > > * doesn't work well with atheros chips > > > > > > > > * HT + AP + bridge = Tx may stall (seems OK with nat) > > > > > > > > So, use it at your own discretion. > > > > > > Want to put together a patch? > > > > sure! > > > > > Does it introduce issues in the non-11n case? > > > > No, only in 11n mode. > > > > What I have found so far is that Ralink's driver checks MAC address of > > other end and identify atheros chip by oui. Then, sets special prot mode > > for it. Does this ring a bell? > > Are your sure that this is based on the actual MAC addresses? Atheros drivers > tend to announce additional capabilities in beacons and probe responses. It is based on the actual MAC, but it is Broadcom's oui (00904c). sorry. > > > Has node lock in ieee80211_node_timeout() cased dead lock in HT + AP + > > bridge? > > I'm not aware of any issues there, though, I'm not very familiar with HT use > cases. I attached witness messages. Those 2 LORs always happen together before deadlock. I hooked iv_input() and unlock/lock node lock to avoid deadlock. (I don't know if it's safe.) I wonder if this is run(4) specific problem. AK lock order reversal: 1st 0xffffff8000a267d0 run0_node_lock (run0_node_lock) @ /usr/src/sys/net80211/ieee80211_node.c:1360 2nd 0xffffff0001716818 if_bridge (if_bridge) @ /usr/src/sys/net/if_bridge.c:2184 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2a _witness_debugger() at _witness_debugger+0x2e witness_checkorder() at witness_checkorder+0x81e _mtx_lock_flags() at _mtx_lock_flags+0x78 bridge_input() at bridge_input+0x7e ether_input() at ether_input+0x143 hostap_input() at hostap_input+0x4ea ampdu_rx_flush() at ampdu_rx_flush+0x5e ieee80211_ht_node_age() at ieee80211_ht_node_age+0x7b ieee80211_node_timeout() at ieee80211_node_timeout+0x2dc softclock() at softclock+0x2a0 intr_event_execute_handlers() at intr_event_execute_handlers+0x66 ithread_loop() at ithread_loop+0xb2 fork_exit() at fork_exit+0x12a fork_trampoline() at fork_trampoline+0xe --- trap 0, rip = 0, rsp = 0xffffff8000052d30, rbp = 0 --- lock order reversal: 1st 0xffffff8000a267d0 run0_node_lock (run0_node_lock) @ /usr/src/sys/net80211/ieee80211_node.c:1360 2nd 0xffffffff80a186c8 tcp (tcp) @ /usr/src/sys/netinet/tcp_input.c:498 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2a _witness_debugger() at _witness_debugger+0x2e witness_checkorder() at witness_checkorder+0x81e _rw_rlock() at _rw_rlock+0x5f tcp_input() at tcp_input+0xa58 ip_input() at ip_input+0xbc netisr_dispatch_src() at netisr_dispatch_src+0xb8 ether_demux() at ether_demux+0x17d ether_input() at ether_input+0x175 hostap_input() at hostap_input+0x4ea ampdu_rx_flush() at ampdu_rx_flush+0x5e ieee80211_ht_node_age() at ieee80211_ht_node_age+0x7b ieee80211_node_timeout() at ieee80211_node_timeout+0x2dc softclock() at softclock+0x2a0 intr_event_execute_handlers() at intr_event_execute_handlers+0x66 ithread_loop() at ithread_loop+0xb2 fork_exit() at fork_exit+0x12a fork_trampoline() at fork_trampoline+0xe --- trap 0, rip = 0, rsp = 0xffffff8000052d30, rbp = 0 ---