2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-28 23:23:55 +08:00

crypto: caam - Clean up report_deco_status()

Clean this function up and rework it into sensible shape. This function
now contains one single dev_err() instead of the previous insanity full
of memory allocation, chaotic string handling and use of SPRINTFCAT().

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Horia Geanta <horia.geanta@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Marek Vasut 2014-04-24 20:05:19 +02:00 committed by Herbert Xu
parent 1e16322da4
commit 4f0fa52a5d

View File

@ -218,35 +218,30 @@ static void report_jump_status(struct device *jrdev, u32 status,
static void report_deco_status(struct device *jrdev, u32 status, static void report_deco_status(struct device *jrdev, u32 status,
const char *error, char *__outstr) const char *error, char *__outstr)
{ {
char outstr[CAAM_ERROR_STR_MAX]; u8 err_id = status & JRSTA_DECOERR_ERROR_MASK;
u8 desc_error = status & JRSTA_DECOERR_ERROR_MASK;
u8 idx = (status & JRSTA_DECOERR_INDEX_MASK) >> u8 idx = (status & JRSTA_DECOERR_INDEX_MASK) >>
JRSTA_DECOERR_INDEX_SHIFT; JRSTA_DECOERR_INDEX_SHIFT;
char *idx_str;
char *err_str = "unidentified error value 0x";
char err_err_code[3] = { 0 };
int i; int i;
sprintf(outstr, "%s: ", error);
if (status & JRSTA_DECOERR_JUMP) if (status & JRSTA_DECOERR_JUMP)
strcat(outstr, "jump tgt desc idx "); idx_str = "jump tgt desc idx";
else else
strcat(outstr, "desc idx "); idx_str = "desc idx";
SPRINTFCAT(outstr, "%d: ", idx, sizeof("255"));
for (i = 0; i < ARRAY_SIZE(desc_error_list); i++) for (i = 0; i < ARRAY_SIZE(desc_error_list); i++)
if (desc_error_list[i].value == desc_error) if (desc_error_list[i].value == err_id)
break; break;
if (i != ARRAY_SIZE(desc_error_list) && desc_error_list[i].error_text) { if (i != ARRAY_SIZE(desc_error_list) && desc_error_list[i].error_text)
SPRINTFCAT(outstr, "%s", desc_error_list[i].error_text, err_str = desc_error_list[i].error_text;
strlen(desc_error_list[i].error_text)); else
} else { snprintf(err_err_code, sizeof(err_err_code), "%02x", err_id);
SPRINTFCAT(outstr, "unidentified error value 0x%02x",
desc_error, sizeof("ff"));
}
dev_err(jrdev, "%08x: %s\n", status, outstr); dev_err(jrdev, "%08x: %s: %s %d: %s%s\n",
status, error, idx_str, idx, err_str, err_err_code);
} }
static void report_jr_status(struct device *jrdev, u32 status, static void report_jr_status(struct device *jrdev, u32 status,