From: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: "John W. Linville" <linville@tuxdriver.com>,
<linux-wireless@vger.kernel.org>
Subject: Re: [RFC] cfg80211: Fix incompatible interfaces combination
Date: Tue, 5 Jun 2012 14:20:00 +0530 [thread overview]
Message-ID: <4FCDC838.9010209@qca.qualcomm.com> (raw)
In-Reply-To: <1338878939.4514.11.camel@jlt3.sipsolutions.net>
Hi Johannes,
>>> No, initialization was incorrect -- this is better:
>>> http://p.sipsolutions.net/e5ab0f3e38f90d6d.txt
>>>
>>
>> thanks a lot for the patch!
>> with the above patch ath9k seems be working fine with the single
>> incompatible adhoc interface.
>
> Ok, cool.
>
>> but i was just experimenting with ath9k(similar to iwlwifi having
>> hw->wiphy->n_iface_combinations> 1) with this patch.
>>
>> static const struct ieee80211_iface_limit a[] = {
>> { .max = 2, .types = BIT(NL80211_IFTYPE_STATION) },
>> };
>>
>> static const struct ieee80211_iface_limit b[] = {
>> { .max = 2, .types = BIT(NL80211_IFTYPE_MESH_POINT) },
>> };
>>
>> static const struct ieee80211_iface_combination if_comb[] = {
>> {.limits = a,
>> .n_limits = ARRAY_SIZE(a),
>> .max_interfaces = 2,
>> .num_different_channels = 1,
>> },
>> {.limits = b,
>> .n_limits = ARRAY_SIZE(b),
>> .max_interfaces = 2,
>> .num_different_channels = 1,
>> },
>>
>> };
>>
>> i could not add mesh interface if a managed interface is already there
>> and vice versa. if this is the expected behavior, then fine.
>
> No, that's not expected! Another bug!
>
> We should write some unit tests for this code I guess :-)
>
>> iteration 1: cfg80211_can_change_interface all_iftypes 4 and used_iftypes 84
>> iteration 2: cfg80211_can_change_interface all_iftypes 80 and used_iftypes 84
>
> Curious. Why did it accept it then? Where did you place the printk?
not sure whether i missed something, but it did not work for the above
case. printk just inside the condition check of your patch.
if ((all_iftypes & used_iftypes) != used_iftypes) {
+ printk("\nshafi %s all_iftypes %x and
used_iftypes %x", __func__, all_iftypes, used_iftypes);
+ goto cont;
+ }
i think we need to take 'all_iftypes' for all the
'n_interface_combinations' and then finally compare it with used_iftypes.
>
> I'm handling Linus's problem right now, so it'll be a bit until I can
> look at this in more detail again.
oh ok, sure.
--
thanks,
shafi
next prev parent reply other threads:[~2012-06-05 8:50 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-04 15:47 [RFC] cfg80211: Fix incompatible interfaces combination Mohammed Shafi Shajakhan
2012-06-04 15:52 ` Johannes Berg
2012-06-04 15:59 ` Mohammed Shafi Shajakhan
2012-06-04 16:13 ` Johannes Berg
2012-06-04 16:16 ` Mohammed Shafi Shajakhan
2012-06-04 16:18 ` Johannes Berg
2012-06-04 16:19 ` Johannes Berg
2012-06-05 6:36 ` Mohammed Shafi Shajakhan
2012-06-05 6:48 ` Johannes Berg
2012-06-05 8:50 ` Mohammed Shafi Shajakhan [this message]
2012-06-05 9:33 ` Johannes Berg
2012-06-05 9:54 ` Mohammed Shafi Shajakhan
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=4FCDC838.9010209@qca.qualcomm.com \
--to=mohammed@qca.qualcomm.com \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
/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).