Use atomic API without spin lock for trace_error().

When trace_error() is used to save error information into trace buffer,
the firmware may not in normal state and some spin lock be still locked.
So it may cause dead lock if trace_error() still uses non-atomic API
with spin lock.

Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
This commit is contained in:
Yan Wang 2017-12-06 15:05:28 +08:00 committed by Liam Girdwood
parent e666b476eb
commit 9308679473
1 changed files with 1 additions and 1 deletions

View File

@ -128,7 +128,7 @@ void trace_init(struct reef * reef);
/* error tracing */
#if TRACEE
#define trace_error(__c, __e) \
_trace_error(__c | (__e[0] << 16) | (__e[1] <<8) | __e[2])
_trace_error_atomic(__c | (__e[0] << 16) | (__e[1] <<8) | __e[2])
#define trace_error_atomic(__c, __e) \
_trace_error_atomic(__c | (__e[0] << 16) | (__e[1] <<8) | __e[2])
#else