Return-path: Received: from mail-ie0-f170.google.com ([209.85.223.170]:51398 "EHLO mail-ie0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754318AbaCOP7i (ORCPT ); Sat, 15 Mar 2014 11:59:38 -0400 Received: by mail-ie0-f170.google.com with SMTP id rd18so3846671iec.1 for ; Sat, 15 Mar 2014 08:59:38 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: <1393376982-28276-1-git-send-email-mcgrof@do-not-panic.com> <1393376982-28276-3-git-send-email-mcgrof@do-not-panic.com> <1393852248.10039.5.camel@jlt4.sipsolutions.net> Date: Sat, 15 Mar 2014 16:59:37 +0100 Message-ID: (sfid-20140315_165942_644230_36005AD0) Subject: Re: [PATCH 2/3] cfg80211: fix processing world regdomain when non modular From: Janusz Dziedzic To: "Luis R. Rodriguez" Cc: Colleen T , Johannes Berg , linux-wireless , Sander Eikelenboom Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-wireless-owner@vger.kernel.org List-ID: 2014-03-15 2:03 GMT+01:00 Luis R. Rodriguez : > On Fri, Mar 14, 2014 at 3:12 PM, Colleen T wrote: >> I'm on mac80211-next/master, sha is >> 5a970df8990d173e7e4092952f2e3da1de69b27d > > I tried to reproduce by just merging the fixes in question onto Linus' > tree and using radios=3 but no go. Can you provide the full kernel > log, I'm particularly interested in what happened before. The > COUNTRY=US on debian, which I believe you're on, should just trigger a > regulatory domain setting to US upon initialization. Depending on how > Debian does it this could either trigger as a module parameter or as a > userspace event *after* the world regdom get set. > > The radios=3 alone would not do anything other than add new radios so > I see no contention on the last_request by increasing or decreasing > that. last_request is also protected by rtnl and although I was > considering a possible race against processing the same last_request > twice if you see how we call reg_process_pending_hints() on reg_todo() > its protected by rtnl_lock() so I'm a bit puzzled as to how this is > being triggered as those operations should be atomic. The other corner > case I thought of was that for userspace requests which sets a > timeout, but our when the timeout hits we also rtnl_lock() under > reg_timeout_work(). > > The other corner I thought of was when we reset_regdomains() but all > callers are rtnl_lock()'d. This is also the same for callers of > set_regdom(). > > Do you get different results if you reduce the number of radios? If so > where's the trigger point? > Just guessing, try add this one if not included in mac80211-next yet. [PATCH 1/2] cfg80211: regulatory, reset regdomain in case of error - this goes to 3.14 directly. BR Janusz