Hans de Goede 8d2d7bcdc1
ASoC: rt5651: Fix workqueue cancel vs irq free race on remove
On removal we must free the IRQ *before* cancelling the jack-detect work,
so that the jack-detect work cannot be rescheduled by the IRQ.

Before this commit we were cancelling the jack-detect work from the
driver remove callback, while relying on devm to free the IRQ, which
happens after the remove callback.

This is the wrong order. This commit uses a devm-action to register
a devm callback which cancels the work, before requesting the IRQ
(devm tears things down in reverse order). This also allows us to
remove the now empty remove driver callback.

Cc: Carlo Caione <carlo@endlessm.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2018-07-10 18:49:24 +01:00
..
2018-06-29 12:05:05 +01:00
2017-09-04 14:50:49 +02:00
2018-06-15 18:10:01 -03:00
2018-06-15 18:10:01 -03:00
2018-06-12 16:19:22 -07:00
2017-11-13 15:45:57 +01:00
2018-06-07 12:34:37 -07:00
2018-06-15 18:10:01 -03:00
2017-11-13 15:45:57 +01:00
2018-06-15 17:24:40 +09:00
2018-05-31 09:11:03 +02:00