ASoC: SOF: pcm: remove warning - initialize workqueue on open
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Fri, 24 May 2019 19:09:21 +0000 (14:09 -0500)
committerMark Brown <broonie@kernel.org>
Tue, 28 May 2019 14:48:05 +0000 (15:48 +0100)
commitfab4edf42d2d68d0aa67822650174dcd0ee25ffa
tree1e57c33d9913cef525dd6c53a369f24e54d99c17
parent04ea642ff62a2b2da3d5844283991a41328f49b1
ASoC: SOF: pcm: remove warning - initialize workqueue on open

If the SOF hw_params() fail, typically with an IPC error thrown by the
firmware, the period_elapsed workqueue is not initialized, but we
still cancel it in hw_free(), which results in a kernel warning.

Move the initialization to the .open callback. Tested on Broadwell
(Samus) and IceLake.

Fixes: e2803e610ae ("ASoC: SOF: PCM: add period_elapsed work to fix
race condition in interrupt context")

GitHub issue: https://github.com/thesofproject/linux/issues/932
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/pcm.c