Skip to content

Commit ae861c4

Browse files
rfvirgilbroonie
authored andcommitted
ASoC: cs35l56: cs35l56_component_remove() must clear cs35l56->component
The cs35l56->component pointer is used by the suspend-resume handling to know whether the driver is fully instantiated. This is to prevent it queuing dsp_work which would result in calling wm_adsp when the driver is not an instantiated ASoC component. So this pointer must be cleared by cs35l56_component_remove(). Signed-off-by: Richard Fitzgerald <[email protected]> Fixes: e496112 ("ASoC: cs35l56: Add driver for Cirrus Logic CS35L56") Link: https://msgid.link/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent daf3f0f commit ae861c4

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

sound/soc/codecs/cs35l56.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -809,6 +809,8 @@ static void cs35l56_component_remove(struct snd_soc_component *component)
809809
struct cs35l56_private *cs35l56 = snd_soc_component_get_drvdata(component);
810810

811811
cancel_work_sync(&cs35l56->dsp_work);
812+
813+
cs35l56->component = NULL;
812814
}
813815

814816
static int cs35l56_set_bias_level(struct snd_soc_component *component,

0 commit comments

Comments
 (0)