Skip to content

[BUG][SDW]Switch foreground from background on aplay 0,0 will cause I/O error when do headset playback and headset at the same time #1460

@YvonneYang2

Description

@YvonneYang2

Describe the bug
aplay 0,0/2/3 + arecord 0,4--> ctrl+z and fg on arecord 0,4 --> I/O error
arecord 0,1 and arecord 0,4 --> pause/release --> I/O error
arecord 0,1 + aplay 0,0/2/3 aplay --> I/O error

error log seems same as thesofproject/sof#1578

To Reproduce
1.open terminal A to run command "time aplay -Dhw:0,0 -f dat wav/48California_Dreaming.wav -vv -i"
2.open another terminal B to run command "arecord -Dhw:0,4 -r 48000 -c2 -f s32_le test.wav -vv -i"
3.Ctrl+Z to background arecord in terminal B, then fg to foreground.

frequency
100%

Expected result
Aplay and arecord work normally.

Actual result
aplay and arecord stop, and shows I/O error.

Environment
Firmware: c7d0149 https://github.com/thesofproject/sof/commits/master
Kernel: e7fb5a5 https://github.com/thesofproject/linux/tree/integration/soundwire-latest
tplg: sof-icl-rt711-rt1308-rt715-hdmi.tplg rename sof-icl-rt711-rt1308-rt715.tplg path same as FW branch
platform: ICL RVP, with codec ALC711 -RT1308, RT715 in SDW mode

error logger
 CORE  LEVEL      COMP_ID                TIMESTAMP            DELTA                FILE_NAME	CONTENT
    0      1          DAI 5.28    318102259.270833 318102272.000000      src/audio/dai.c:593 	dai_check_for_xrun() error: overrun due to no data available
    0      1         COMP         318102269.062500         9.791667 of/audio/component.h:759 	comp_overrun() error: dev->comp.id = 28, sink->free = 768, copy_bytes = 0
    0      1         PIPE         318102334.427083        65.364586 src/audio/pipeline.c:854 	pipeline_copy() error: ret = -61, start->comp.id = 28, dir = 0
    0      1         PIPE 5.29    318102346.093750        11.666667 src/audio/pipeline.c:1037	pipeline_task(): xrun recover failed! pipeline will be stopped!
    0      1         COMP         319120822.656250   1018476.562500 rc/audio/component.c:192 	comp_set_state() error: wrong state = 5, COMP_TRIGGER_RESET

fg_error_logger.log
fg_logger.log
fg_dmesg.log

Metadata

Metadata

Labels

SDWApplies to SoundWire bus for codec connectionSDW_DEVSDW bug reproduced by developers, fix WIPbugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions