On Mon, 2011-11-28 at 16:47 -0500, Luis R. Rodriguez wrote: > Johannes' patch for "cfg80211: fix regulatory NULL dereference" > broke user regulaotry hints and it did not address the fact that > last_request was left populated even if the previous regulatory > hint was stale due to the wiphy disappearing. > > Fix user reguluatory hints by only bailing out if for those > regulatory hints where a request_wiphy is expected. The stale last_request > considerations are addressed through the previous fixes on last_request > where we reset the last_request to a static world regdom request upon > reset_regdomains(). In this case though we further enhance the effect > by simply restoring reguluatory settings completely. > > Cc: stable@xxxxxxxxxxxxxxx > Cc: Johannes Berg <johannes.berg@xxxxxxxxx> > Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxxxxxxxxxx> Reviewed-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> > --- > net/wireless/reg.c | 6 ++++-- > 1 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/net/wireless/reg.c b/net/wireless/reg.c > index a5f0ac7..70b171a 100644 > --- a/net/wireless/reg.c > +++ b/net/wireless/reg.c > @@ -2090,8 +2090,10 @@ static int __set_regdom(const struct ieee80211_regdomain *rd) > } > > request_wiphy = wiphy_idx_to_wiphy(last_request->wiphy_idx); > - if (!request_wiphy) { > - reg_set_request_processed(); > + if (!request_wiphy && > + (last_request->initiator == NL80211_REGDOM_SET_BY_DRIVER || > + last_request->initiator == NL80211_REGDOM_SET_BY_COUNTRY_IE)) { > + schedule_delayed_work(®_timeout, 0); > return -ENODEV; > } > -- 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