[Sound-open-firmware] [PATCH] ssp: pause: fix pause/release logic

Liam Girdwood liam.r.girdwood at linux.intel.com
Thu Oct 12 23:31:00 CEST 2017


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 at 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:
-- 
2.11.0



More information about the Sound-open-firmware mailing list