.. | .. |
---|
3853 | 3853 | } else { |
---|
3854 | 3854 | dev_dbg(component->dev, "Jack not detected\n"); |
---|
3855 | 3855 | |
---|
| 3856 | + /* Release wm8994->accdet_lock to avoid deadlock: |
---|
| 3857 | + * cancel_delayed_work_sync() takes wm8994->mic_work internal |
---|
| 3858 | + * lock and wm1811_mic_work takes wm8994->accdet_lock */ |
---|
| 3859 | + mutex_unlock(&wm8994->accdet_lock); |
---|
3856 | 3860 | cancel_delayed_work_sync(&wm8994->mic_work); |
---|
| 3861 | + mutex_lock(&wm8994->accdet_lock); |
---|
3857 | 3862 | |
---|
3858 | 3863 | snd_soc_component_update_bits(component, WM8958_MICBIAS2, |
---|
3859 | 3864 | WM8958_MICB2_DISCH, WM8958_MICB2_DISCH); |
---|