ALSA: hda - Clearing jackpoll_interval avoid pending work
authorWang Xingchao <xingchao.wang@linux.intel.com>
Fri, 26 Jul 2013 03:34:44 +0000 (23:34 -0400)
committerTakashi Iwai <tiwai@suse.de>
Mon, 29 Jul 2013 12:19:03 +0000 (14:19 +0200)
Clearing jackpoll_interval before calling cancel_delayed_work_sync(),
otherwise the work will be triggered again and cause impact in
hda_jackpoll_work(). The next patch will poll jack once even with
jackpoll_interval=0.

Signed-off-by: Wang Xingchao <xingchao.wang@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_via.c

index e2481baddc70ff6ff265ee0ed118377869847db6..0bc20ef5687ac3558996ca3fd56a741c75bc042b 100644 (file)
@@ -207,9 +207,9 @@ static void vt1708_stop_hp_work(struct hda_codec *codec)
                return;
        if (spec->hp_work_active) {
                snd_hda_codec_write(codec, 0x1, 0, 0xf81, 1);
+               codec->jackpoll_interval = 0;
                cancel_delayed_work_sync(&codec->jackpoll_work);
                spec->hp_work_active = false;
-               codec->jackpoll_interval = 0;
        }
 }