From owner-freebsd-wireless@FreeBSD.ORG Fri Oct 21 06:40:24 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 887E21065678; Fri, 21 Oct 2011 06:40:24 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-yx0-f182.google.com (mail-yx0-f182.google.com [209.85.213.182]) by mx1.freebsd.org (Postfix) with ESMTP id 3AAF48FC1F; Fri, 21 Oct 2011 06:40:24 +0000 (UTC) Received: by yxn16 with SMTP id 16so4564230yxn.13 for ; Thu, 20 Oct 2011 23:40:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:cc:content-type; bh=uQn1m7GRo/ClGyzG4IxwRhunpawWl10cALZh9c7FhWA=; b=wYrRPEonPe5efaXi+Idgw5a8ImdyhD5XtyqHgKPFQEH9DAGYkWtgve6YbQ+s+aDaI/ 84m3S13U1VNcl+xLa2eQUp9oOHS9D/Sy+SJp22T5VKnMHZRgE3xeSQj/z3ogk8aFsvEG rV2qT6QTlfH/ACN/Ae2OHvw+PKhejdP+Ys0KE= MIME-Version: 1.0 Received: by 10.236.133.241 with SMTP id q77mr16849029yhi.117.1319179223782; Thu, 20 Oct 2011 23:40:23 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.236.109.39 with HTTP; Thu, 20 Oct 2011 23:40:23 -0700 (PDT) Date: Fri, 21 Oct 2011 14:40:23 +0800 X-Google-Sender-Auth: KZ3j8aYTLigSMDqAuC9xbeTrp60 Message-ID: From: Adrian Chadd To: Bernhard Schmidt Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-wireless@freebsd.org Subject: Another scan + comlock 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: Fri, 21 Oct 2011 06:40:24 -0000 Hi Bernhard, Take a look at this. This is from my if_ath_tx branch, but the locking is still problematic inside net80211. I've posted before about this to freebsd-wireless@freebsd.org; it's a very obvious LOR when you've traced the code. Thanks! Adrian 1st 0xc0831784 ath0_scan_lock (ath0_scan_lock) @ /data/freebsd/mips/if_ath_tx/src/sys/net80211/ieee80211_node.c:1937 2nd 0xc0830014 ath0_com_lock (ath0_com_lock) @ /data/freebsd/mips/if_ath_tx/src/sys/net80211/ieee80211_node.c:2510 KDB: stack backtrace: db_trace_thread+30 (?,?,?,?) ra 8036145c sp c0781ab0 sz 24 db_trace_self+1c (?,?,?,?) ra 80074dbc sp c0781ac8 sz 24 80074d88+34 (?,?,?,?) ra 801e090c sp c0781ae0 sz 416 kdb_backtrace+44 (?,?,?,?) ra 801f8808 sp c0781c80 sz 24 801f87d4+34 (?,?,?,?) ra 801f94c4 sp c0781c98 sz 32 witness_checkorder+9cc (?,?,803ebf40,9ce) ra 80199320 sp c0781cb8 sz 80 _mtx_lock_flags+c4 (?,?,?,?) ra 802acf28 sp c0781d08 sz 48 ieee80211_node_leave+b8 (?,?,?,?) ra 802ad510 sp c0781d38 sz 48 ieee80211_node_timeout+2e4 (?,?,?,?) ra 801bf000 sp c0781d68 sz 64 softclock+298 (?,?,?,?) ra 80181280 sp c0781da8 sz 88 intr_event_execute_handlers+158 (?,?,?,?) ra 80182288 sp c0781e00 sz 40 8018217c+10c (?,?,?,?) ra 8017e56c sp c0781e28 sz 48 fork_exit+a8 (?,?,?,?) ra 80359ba0 sp c0781e58 sz 40 fork_trampoline+10 (?,?,?,?) ra 0 sp c0781e80 sz 0 pid 11