| .. | .. |
|---|
| 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); |
|---|