ALSA: hda - Fix inconsistent pin states after resume
authorTakashi Iwai <tiwai@suse.de>
Wed, 23 Jan 2013 14:58:40 +0000 (15:58 +0100)
committerTakashi Iwai <tiwai@suse.de>
Wed, 23 Jan 2013 15:05:37 +0000 (16:05 +0100)
commit31614bb89b102570367fc7428dc029b8d7fc615a
treee242542ee9a3ed4c3aa6c56e946ed88479215738
parent42c364ace52ae6b4699105b39f2559c256b6cd4c
ALSA: hda - Fix inconsistent pin states after resume

The commit [26a6cb6c: ALSA: hda - Implement a poll loop for jacks as a
module parameter] introduced the polling jack detection code, but it
also moved the call of snd_hda_jack_set_dirty_all() in the resume path
after resume/init ops call.  This caused a regression when the jack
state has been changed during power-down (e.g. in the power save
mode).  Since the driver doesn't probe the new jack state but keeps
using the cached value due to no dirty flag, the pin state remains
also as if the jack is still plugged.

The fix is simply moving snd_hda_jack_set_dirty_all() to the original
position.

Reported-by: Manolo Díaz <diaz.manolo@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_codec.c