extcon: arizona: unlock mutex on error path in arizona_micdet()
If regmap_read() failed, arizona_micdet() returns IRQ_NONE leaving &info->lock mutex locked as opposed to all other return paths. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
This commit is contained in:
Родитель
f4a75d2eb7
Коммит
be31cc0bc9
|
@ -166,6 +166,7 @@ static irqreturn_t arizona_micdet(int irq, void *data)
|
||||||
ret = regmap_read(arizona->regmap, ARIZONA_MIC_DETECT_3, &val);
|
ret = regmap_read(arizona->regmap, ARIZONA_MIC_DETECT_3, &val);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
dev_err(arizona->dev, "Failed to read MICDET: %d\n", ret);
|
dev_err(arizona->dev, "Failed to read MICDET: %d\n", ret);
|
||||||
|
mutex_unlock(&info->lock);
|
||||||
return IRQ_NONE;
|
return IRQ_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче