Search Linux Wireless

Re: [RFC] cfg80211: Fix incompatible interfaces combination

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux