From c737ad3d67ebded890e24c2e53687c7377fd7109 Mon Sep 17 00:00:00 2001 From: "Luis R. Rodriguez" Date: Sat, 21 Feb 2009 00:04:24 -0500 Subject: [PATCH] --- yaml --- r: 134925 b: refs/heads/master c: bcf4f99b7b1e0971b79e8df40331e77fc1744049 h: refs/heads/master i: 134923: af4a1a416e73184b00947c08973968c55da7327b v: v3 --- [refs] | 2 +- trunk/net/wireless/reg.c | 22 +++++++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index cde2844a0902..b51d9604d974 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ba25c1414264f1f5fc046cf34d20947e41713a0d +refs/heads/master: bcf4f99b7b1e0971b79e8df40331e77fc1744049 diff --git a/trunk/net/wireless/reg.c b/trunk/net/wireless/reg.c index 6373a78a37e7..47d505616a4b 100644 --- a/trunk/net/wireless/reg.c +++ b/trunk/net/wireless/reg.c @@ -1616,7 +1616,7 @@ void reg_device_remove(struct wiphy *wiphy) int regulatory_init(void) { - int err; + int err = 0; reg_pdev = platform_device_register_simple("regulatory", 0, NULL, 0); if (IS_ERR(reg_pdev)) @@ -1637,12 +1637,24 @@ int regulatory_init(void) cfg80211_regdomain = cfg80211_world_regdom; err = regulatory_hint_core("00"); +#endif if (err) { - printk(KERN_ERR "cfg80211: calling CRDA failed - " - "unable to update world regulatory domain, " - "using static definition\n"); - } + if (err == -ENOMEM) + return err; + /* + * N.B. kobject_uevent_env() can fail mainly for when we're out + * memory which is handled and propagated appropriately above + * but it can also fail during a netlink_broadcast() or during + * early boot for call_usermodehelper(). For now treat these + * errors as non-fatal. + */ + printk(KERN_ERR "cfg80211: kobject_uevent_env() was unable " + "to call CRDA during init"); +#ifdef CONFIG_CFG80211_REG_DEBUG + /* We want to find out exactly why when debugging */ + WARN_ON(err); #endif + } return 0; }