ASoC: SOF: ignore unrecoverable CTX_SAVE IPC errors at suspend
authorKai Vehmanen <kai.vehmanen@linux.intel.com>
Wed, 12 Jun 2019 16:57:04 +0000 (11:57 -0500)
committerMark Brown <broonie@kernel.org>
Thu, 13 Jun 2019 18:54:17 +0000 (19:54 +0100)
commite2eba551d2f4226400a6bb7871fef439ad1318dd
tree28fa2761953e94cea1b82cfbace6d92ce87c648a
parentf1fd9d0e6dbae9c7cdd7e82fe3055ec7b790abb6
ASoC: SOF: ignore unrecoverable CTX_SAVE IPC errors at suspend

As part of the suspend flow, a context save IPC message is
sent to the firmware before powering down the DSP. If errors
are met, the suspend flow is aborted with current code.

Change the behaviour such that if firmware returns -EBUSY or
-EAGAIN, return the error codes to PM core as before. The device
is left in active state in this case.

If other errors are reported, print a warning but do not block the
suspend flow. As per interface specification, no valid error can be
returned in this scenario. If the hardware has hit a fatal error and
is not able to respond successfully, best recovery method is to
proceed with suspend and power off the DSP.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/pm.c