On Thu, 2012-07-12 at 15:33 +0300, Kalle Valo wrote: > While adding regulatory support to ath6kl I noticed that I easily > got the regulatory code confused. The way to reproduce the bug was: > > 1. iw reg set FI (in userspace) > 2. cfg80211 calls ath6kl_reg_notify(FI) > 3. ath6kl sets regdomain in firmware > 4. firmware sends regdomain event to notify about the new regdomain (FI) > 5. ath6kl calls regulatory_hint(FI) > > And this (from FI to FI transition) confuses cfg80211 and after that I > only get "Pending regulatory request, waiting for it to be > processed...." messages and regdomain changes won't work anymore. > > The reason why ath6kl calls regulatory_hint() is that firmware can change > the regulatory domain by it's own, for example due to 11d IEs. I could > of course workaround this in ath6kl but I think it's better to handle > the case in cfg80211. > > The fix is pretty simple, use a different error code if the regdomain is > same and then just set the request processed so that it doesn't block new > requests. > > Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Should this go to 3.5 and maybe be Cc: stable? If so, John please pick it up, fwiw: Acked-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Otherwise I'll pick it up after Kalle decides :) johannes -- 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