SSP can either be in paused or prepared state during stream pause depending on the state of the other SSP data direction. Make sure this is taken into account.
Signed-off-by: Liam Girdwood liam.r.girdwood@linux.intel.com --- src/drivers/ssp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/drivers/ssp.c b/src/drivers/ssp.c index a472974..404abd8 100644 --- a/src/drivers/ssp.c +++ b/src/drivers/ssp.c @@ -356,7 +356,8 @@ static int ssp_trigger(struct dai *dai, int cmd, int direction) ssp_start(dai, direction); break; case COMP_CMD_RELEASE: - if (ssp->state[direction] == COMP_STATE_PAUSED) + if (ssp->state[direction] == COMP_STATE_PAUSED || + ssp->state[direction] == COMP_STATE_PREPARE) ssp_start(dai, direction); break; case COMP_CMD_STOP: