diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2010-12-12 13:39:37 +0000 |
---|---|---|
committer | Omar Ramirez Luna <omar.ramirez@ti.com> | 2011-02-04 20:11:51 -0600 |
commit | c378204afacc627330a9a1aeb5b5cd6e3d821717 (patch) | |
tree | 810541799c734771e0ef57921d3c51301c533e28 /drivers/staging/tidspbridge | |
parent | 57104f0fbe5bb35694eb470530850a71ef2f8063 (diff) | |
download | blackbird-obmc-linux-c378204afacc627330a9a1aeb5b5cd6e3d821717.tar.gz blackbird-obmc-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/staging/tidspbridge')
-rw-r--r-- | drivers/staging/tidspbridge/rmgr/dbdcd.c | 6 |
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); } /* |