linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Paul Gortmaker <paul.gortmaker@windriver.com>
To: Johannes Berg <johannes.berg@intel.com>
Cc: "John W. Linville" <linville@tuxdriver.com>,
	linux-wireless@vger.kernel.org, stable@vger.kernel.org,
	liang.li@windriver.com,
	Paul Gortmaker <paul.gortmaker@windriver.com>
Subject: [PATCH] cfg80211: fix combination check for ADHOC
Date: Wed,  1 Aug 2012 12:14:23 -0400	[thread overview]
Message-ID: <1343837663-12645-2-git-send-email-paul.gortmaker@windriver.com> (raw)
In-Reply-To: <1343837663-12645-1-git-send-email-paul.gortmaker@windriver.com>

From: Liang Li <liang.li@windriver.com>

As part of commit 463454b5dbd8 ("cfg80211: fix interface
combinations check"), this extra check was introduced:

       if ((all_iftypes & used_iftypes) != used_iftypes)
               goto cont;

However, most wireless NIC drivers did not advertise ADHOC in
wiphy.iface_combinations[i].limits[] hence we'll get -EBUSY when
we bring up a ADHOC wlan by commands similar to:

 # iwconfig wlan0 mode ad-hoc && ifconfig wlan0 up

In commit 8e8b41f9d8c8e ("cfg80211: enforce lack of interface
combinations"), the change below happens to fix the issue:

       if (total == 1)
               return 0;

But it also introduces other dependencies, at least for stable.
For example, a full cherry pick of 8e8b41f9d8c8e would introduce
additional regressions unless we also start cherry picking driver
specific fixes like the following:

9b4760e  ath5k: add possible wiphy interface combinations
1ae2fc2  mac80211_hwsim: advertise interface combinations
20c8e8d  ath9k: add possible wiphy interface combinations

It seems like we should add an exception for NL80211_IFTYPE_ADHOC, since
it is a kind of 'basic' mode, being supported by almost all wifi cards
but currently most drivers don't advertise it at all.  So making the
NL80211_IFTYPE_ADHOC a part of all_iftypes seems reasonable.

Doing so also gives stable kernels a way to fix the change introduced
by 463454b5dbd8, without having to make cherry picks specific to
various NIC drivers.

Signed-off-by: Liang Li <liang.li@windriver.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 net/wireless/util.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/net/wireless/util.c b/net/wireless/util.c
index 26f8cd3..4a4749c 100644
--- a/net/wireless/util.c
+++ b/net/wireless/util.c
@@ -1129,6 +1129,8 @@ int cfg80211_can_use_iftype_chan(struct cfg80211_registered_device *rdev,
 			}
 		}
 
+		all_iftypes |= BIT(NL80211_IFTYPE_ADHOC);
+
 		/*
 		 * Finally check that all iftypes that we're currently
 		 * using are actually part of this combination. If they
-- 
1.7.11.1


  reply	other threads:[~2012-08-01 16:14 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-01 16:14 [RFC/PATCH 0/1] Fix inability to configure adhoc in 3.4.x Paul Gortmaker
2012-08-01 16:14 ` Paul Gortmaker [this message]
2012-08-01 16:31 ` Johannes Berg
2012-08-01 17:38   ` Paul Gortmaker
2012-08-01 17:42     ` Johannes Berg
2012-08-01 17:58       ` Paul Gortmaker
2012-08-02 22:55         ` [PATCH stable] cfg80211: fix interface combinations check for ADHOC(IBSS) Paul Gortmaker
2012-08-06  1:00           ` Ben Hutchings
2012-08-13 18:59           ` Patch "cfg80211: fix interface combinations check for ADHOC(IBSS)" has been added to the 3.4-stable tree gregkh
2012-08-13 19:00           ` Patch "cfg80211: fix interface combinations check for ADHOC(IBSS)" has been added to the 3.0-stable tree gregkh
2012-08-02  2:53 ` [RFC/PATCH 0/1] Fix inability to configure adhoc in 3.4.x Ben Hutchings

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1343837663-12645-2-git-send-email-paul.gortmaker@windriver.com \
    --to=paul.gortmaker@windriver.com \
    --cc=johannes.berg@intel.com \
    --cc=liang.li@windriver.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).