summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2010-12-12 14:39:37 +0100
committerOmar Ramirez Luna <omar.ramirez@ti.com>2011-02-05 03:11:51 +0100
commitc378204afacc627330a9a1aeb5b5cd6e3d821717 (patch)
tree810541799c734771e0ef57921d3c51301c533e28 /drivers
parentstaging: tidspbridge: rmgr/node.c code cleanup (diff)
downloadlinux-c378204afacc627330a9a1aeb5b5cd6e3d821717.tar.xz
linux-c378204afacc627330a9a1aeb5b5cd6e3d821717.zip
staging: tidspbridge: Fix atoi to support hexadecimal numbers correctly
For some strange reason, the DSP base image node/object properties description string stores hexadecimal numbers with a 'h' or 'H' suffix instead of a '0x' prefix. This causes parsing issue because the dspbridge atoi() implementation relies on strict_strtoul(), which will return an error because of the trailing 'h' character. As the atoi() return value is never checked for an error anyway, replace strict_strtoul() with simple_strtoul() to ignore the suffix. This fix gets rid of the following assertion failed messages that were printed when running the dsp-dummy test application. drivers/staging/tidspbridge/rmgr/nldr.c, line 1691: Assertion (segid == MEMINTERNALID || segid == MEMEXTERNALID) failed. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/staging/tidspbridge/rmgr/dbdcd.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/staging/tidspbridge/rmgr/dbdcd.c b/drivers/staging/tidspbridge/rmgr/dbdcd.c
index 3581a55ed4dd..b76f26caeab2 100644
--- a/drivers/staging/tidspbridge/rmgr/dbdcd.c
+++ b/drivers/staging/tidspbridge/rmgr/dbdcd.c
@@ -1020,8 +1020,6 @@ static s32 atoi(char *psz_buf)
{
char *pch = psz_buf;
s32 base = 0;
- unsigned long res;
- int ret_val;
while (isspace(*pch))
pch++;
@@ -1033,9 +1031,7 @@ static s32 atoi(char *psz_buf)
base = 16;
}
- ret_val = strict_strtoul(pch, base, &res);
-
- return ret_val ? : res;
+ return simple_strtoul(pch, NULL, base);
}
/*