[PATCH 1/2] ASoC: Intel: catpt: Fix compilation when CONFIG_MODULES is disabled

Cezary Rojewski cezary.rojewski at intel.com
Wed Oct 7 15:57:00 CEST 2020


module_is_live() is available only when CONFIG_MODULES is enabled.
Replace its usage with try_module_get() which is present regardless of
said config's status.

Fixes: 7a10b66a5df9 ("ASoC: Intel: catpt: Device driver lifecycle")
Reported-by: Randy Dunlap <rdunlap at infradead.org>
Signed-off-by: Cezary Rojewski <cezary.rojewski at intel.com>
---
 sound/soc/intel/catpt/device.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/sound/soc/intel/catpt/device.c b/sound/soc/intel/catpt/device.c
index 390ffb203de0..a70179959795 100644
--- a/sound/soc/intel/catpt/device.c
+++ b/sound/soc/intel/catpt/device.c
@@ -81,10 +81,11 @@ static int __maybe_unused catpt_resume(struct device *dev)
 	if (ret)
 		return ret;
 
-	if (!module_is_live(dev->driver->owner)) {
+	if (!try_module_get(dev->driver->owner)) {
 		dev_info(dev, "module unloading, skipping fw boot\n");
 		return 0;
 	}
+	module_put(dev->driver->owner);
 
 	ret = catpt_boot_firmware(cdev, true);
 	if (ret) {
@@ -107,10 +108,12 @@ static int __maybe_unused catpt_resume(struct device *dev)
 
 static int __maybe_unused catpt_runtime_suspend(struct device *dev)
 {
-	if (!module_is_live(dev->driver->owner)) {
+	if (!try_module_get(dev->driver->owner)) {
 		dev_info(dev, "module unloading, skipping suspend\n");
 		return 0;
 	}
+	module_put(dev->driver->owner);
+
 	return catpt_suspend(dev);
 }
 
-- 
2.17.1



More information about the Alsa-devel mailing list