msrtool: If an MSR name lookup fails in msraddrbyname(), return the strtoul() convers...
authorPeter Stuge <peter@stuge.se>
Mon, 23 Mar 2009 17:43:12 +0000 (17:43 +0000)
committerPeter Stuge <peter@stuge.se>
Mon, 23 Mar 2009 17:43:12 +0000 (17:43 +0000)
Thanks to Mart for finding and reporting the problem!

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4026 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

util/msrtool/msrutils.c

index 32af32adf33deb6433e6955c75d32893dd44af1c..e2306e83dd43488f83172ec09954d944b60eb44c 100644 (file)
@@ -142,7 +142,7 @@ uint32_t msraddrbyname(const char *name) {
        const uint32_t addr = strtoul(name, NULL, 16);
        const struct msrdef *m;
        if (!targets)
-               return 0;
+               return addr;
        for (t = 0; t < targets_found; t++)
                for (m = targets[t]->msrs; !MSR_ISEOT(*m); m++) {
                        if (addr == m->addr)
@@ -150,7 +150,7 @@ uint32_t msraddrbyname(const char *name) {
                        if (!strcasecmp(name, m->symbol))
                                return m->addr;
                }
-       return 0;
+       return addr;
 }
 
 void dumpmsrdefs(const struct targetdef *t) {