diff options
| author | Pierre-Louis Bossart <[email protected]> | 2020-06-22 10:42:38 -0500 |
|---|---|---|
| committer | Mark Brown <[email protected]> | 2020-06-23 12:25:38 +0100 |
| commit | bcb43fdae1c0d08b772b792cf46f323ad0d17968 (patch) | |
| tree | 230b01df5f96118dfe43a9c1f55e293ceca53c37 /tools/perf/scripts/python/export-to-sqlite.py | |
| parent | 21a00fb33790f828a34b9ce50ab9f9130bc1ffb4 (diff) | |
ASoC: Intel: bdw-rt5677: fix module load/unload issues
The mainline code currently prevents modules from being removed.
The BE dailink .init() function calls devm_gpiod_get() using the codec
component device as argument. When the machine driver is removed, the
references to the gpiod are not released, and it's not possible to
remove the codec driver module - which is the only entity which could
free the gpiod.
This conceptual deadlock can be avoided by invoking gpiod_get() in the
.init() callback, and calling gpiod_put() in the exit() callback.
Tested on SAMUS Chromebook with SOF driver.
Suggested-by: Andy Shevchenko <[email protected]>
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Reviewed-by: Guennadi Liakhovetski <[email protected]>
Reviewed-by: Curtis Malainey <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions