Files
linux/net
Liang Li 4f5a5866aa cfg80211: fix interface combinations check for ADHOC(IBSS)
partial of commit 8e8b41f9d8 upstream.

As part of commit 463454b5db ("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[] and hence we'll get -EBUSY
when we bring up a ADHOC wlan with commands similar to:

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

In commit 8e8b41f9d8 ("cfg80211: enforce lack of interface
combinations"), the change below fixes the issue:

       if (total == 1)
               return 0;

But it also introduces other dependencies for stable. For example,
a full cherry pick of 8e8b41f9d8 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

And the purpose of the 'if (total == 1)' is to cover the specific
use case (IBSS, adhoc) that was mentioned above. So we just pick
the specific part out from 8e8b41f9d8 here.

Doing so gives stable kernels a way to fix the change introduced
by 463454b5db, 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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-08-15 12:04:30 -07:00
..
2011-05-23 16:29:24 -04:00
2011-11-11 09:36:45 -08:00
2011-07-19 11:25:04 -07:00
2011-03-14 17:02:42 -07:00
2011-03-17 11:59:32 +11:00
2011-03-21 18:16:39 -07:00
2011-05-24 01:13:12 -04:00
2012-08-15 12:04:11 -07:00
2012-04-02 09:27:21 -07:00
2012-08-09 08:27:51 -07:00
2011-05-24 01:13:12 -04:00
2012-06-10 00:33:02 +09:00
2011-05-05 11:10:14 -07:00
2011-04-29 10:20:53 -07:00
2010-10-15 15:53:27 +02:00