mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
ASoC: dapm: Fix handling of loops
Currently if a path loops back on itself we correctly skip over it to avoid going into an infinite loop but this causes us to ignore the need to power up the path as we don't count the loop for the purposes of counting inputs and outputs. This means that internal loopbacks within a device that have powered devices on them won't be powered up. Fix this by treating any path that is currently in the process of being recursed as having a single input or output so that it is counted for the purposes of power decisions. Signed-off-by: Mark Brown <[email protected]> Acked-by: Liam Girdwood <[email protected]>
This commit is contained in:
parent
19f949f525
commit
8af294b472
2 changed files with 16 additions and 0 deletions
|
|
@ -488,6 +488,7 @@ struct snd_soc_dapm_path {
|
|||
/* status */
|
||||
u32 connect:1; /* source and sink widgets are connected */
|
||||
u32 walked:1; /* path has been walked */
|
||||
u32 walking:1; /* path is in the process of being walked */
|
||||
u32 weak:1; /* path ignored for power management */
|
||||
|
||||
int (*connected)(struct snd_soc_dapm_widget *source,
|
||||
|
|
|
|||
Loading…
Reference in a new issue