[ar71xx] parse RedBoot environments as well (patch by Jonas <jmajau@ubnt.com>)
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 3 Feb 2009 08:44:50 +0000 (08:44 +0000)
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 3 Feb 2009 08:44:50 +0000 (08:44 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14384 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/ar71xx/files/arch/mips/ar71xx/prom.c

index 5402e0a..29c6c97 100644 (file)
@@ -115,10 +115,16 @@ static __init char *ar71xx_prom_getenv(const char *envname)
        if (!is_valid_ram_addr(ar71xx_prom_envp))
                return NULL;
 
-       for (env = ar71xx_prom_envp; is_valid_ram_addr(*env); env++)
+       for (env = ar71xx_prom_envp; is_valid_ram_addr(*env); env++) {
                if (strncmp(envname, *env, len) == 0 && (*env)[len] == '=')
                        return *env + len + 1;
 
+               /* RedBoot env comes in pointer pairs - key, value */
+               if (strncmp(envname, *env, len) == 0 && (*env)[len] == 0)
+                       if (is_valid_ram_addr(*(++env)))
+                               return *env;
+       }
+
        return NULL;
 }
 
This page took 0.025453 seconds and 4 git commands to generate.