On Thu, Nov 11, 2010 at 6:27 PM, Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> wrote: > When two cards are connected with the same regulatory domain > if CRDA had a delayed response then cfg80211's own set regulatory > domain would still be the world regulatory domain. There was a bug > on cfg80211's ignore_request() when analyzing incoming driver > regulatory hints as it was only checking against the currently > set cfg80211 regulatory domain and not for any other new > pending requests. This is easily fixed by also checking against > the pending request. > > Without this fix the second card would end up with an intersected > regulatory domain and now allow it to use the channels it really > is designed for. > > This was reproduced and tested against mac80211_hwsim using this > CRDA delayer: > > Â Â Â Â#!/bin/bash > Â Â Â Âecho $COUNTRY >> /tmp/log > Â Â Â Âsleep 2 > Â Â Â Â/sbin/crda.orig > > And this regulatory test: > > Â Â Â Âmodprobe mac80211_hwsim regtest=2 > > This patch has fixes for cfg80211 all the way back. > > Reported-by: Mark Mentovai <mark@xxxxxxxxxxxx> > Cc: stable@xxxxxxxxxx > Signed-off-by: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> Hrm, modprobe mac80211_hwsim regtest=3 Does the similar test but using two different regulatory domains, however this ends up slapping an intersection over to both. Going to think this through a bit more. Luis -- 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