|
@@ -1029,12 +1029,13 @@ static int samsung_i2s_dai_probe(struct snd_soc_dai *dai)
|
|
|
static int samsung_i2s_dai_remove(struct snd_soc_dai *dai)
|
|
|
{
|
|
|
struct i2s_dai *i2s = snd_soc_dai_get_drvdata(dai);
|
|
|
+ unsigned long flags;
|
|
|
|
|
|
if (!is_secondary(i2s)) {
|
|
|
if (i2s->quirks & QUIRK_NEED_RSTCLR) {
|
|
|
- spin_lock(i2s->lock);
|
|
|
+ spin_lock_irqsave(i2s->lock, flags);
|
|
|
writel(0, i2s->addr + I2SCON);
|
|
|
- spin_unlock(i2s->lock);
|
|
|
+ spin_unlock_irqrestore(i2s->lock, flags);
|
|
|
}
|
|
|
}
|
|
|
|