ASoC: codecs: rt5682: initialize mutex before using
authorXun Zhang <xun2.zhang@intel.com>
Fri, 19 Apr 2019 20:53:49 +0000 (15:53 -0500)
committerMark Brown <broonie@kernel.org>
Thu, 25 Apr 2019 18:41:58 +0000 (19:41 +0100)
In rt5682 codec driver, a mutex called "calibrate_mutex" is used
in rt5682_calibrate() before initialization, which causes warning
in lock debug. Move the initialization before the usage of mutex.

Signed-off-by: Xun Zhang <xun2.zhang@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/rt5682.c

index 86a7fa31c294b2d3fb00494dd3c934976c2a2044..505fb3d7b1c5eb6e9c7e45aea7a7ceba7a46b1d6 100644 (file)
@@ -2588,6 +2588,7 @@ static int rt5682_i2c_probe(struct i2c_client *i2c,
 
        rt5682_reset(rt5682->regmap);
 
+       mutex_init(&rt5682->calibrate_mutex);
        rt5682_calibrate(rt5682);
 
        ret = regmap_multi_reg_write(rt5682->regmap, patch_list,
@@ -2654,7 +2655,6 @@ static int rt5682_i2c_probe(struct i2c_client *i2c,
        INIT_DELAYED_WORK(&rt5682->jd_check_work,
                                rt5682_jd_check_handler);
 
-       mutex_init(&rt5682->calibrate_mutex);
 
        if (i2c->irq) {
                ret = devm_request_threaded_irq(&i2c->dev, i2c->irq, NULL,