Linus,

please pull sound fixes for v4.9-rc6 from:

  git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git 
tags/sound-4.9-rc6

The topmost commit is 6ff1a25318ebf688ef9593fe09cd449f6fb4ad31

----------------------------------------------------------------

sound fixes for 4.9-rc6

Three trivial fixes: a regression fix for ASRock mobo, a
use-after-free fix at hot-unplug of USB-audio, and a quirk for new
Thinkpad models.

----------------------------------------------------------------

Hui Wang (1):
      ALSA: hda - add a new condition to check if it is thinkpad

Takashi Iwai (2):
      ALSA: hda - Fix mic regression by ASRock mobo fixup
      ALSA: usb-audio: Fix use-after-free of usb_device at disconnect

---
 sound/pci/hda/patch_realtek.c   | 2 --
 sound/pci/hda/thinkpad_helper.c | 3 ++-
 sound/usb/card.c                | 3 ++-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 2f909dd8b7b8..ea81c08ddc7a 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -6907,8 +6907,6 @@ static const struct hda_fixup alc662_fixups[] = {
                .v.pins = (const struct hda_pintbl[]) {
                        { 0x15, 0x40f000f0 }, /* disabled */
                        { 0x16, 0x40f000f0 }, /* disabled */
-                       { 0x18, 0x01014011 }, /* LO */
-                       { 0x1a, 0x01014012 }, /* LO */
                        { }
                }
        },
diff --git a/sound/pci/hda/thinkpad_helper.c b/sound/pci/hda/thinkpad_helper.c
index 6a23302297c9..4d9d320a7971 100644
--- a/sound/pci/hda/thinkpad_helper.c
+++ b/sound/pci/hda/thinkpad_helper.c
@@ -13,7 +13,8 @@ static void (*old_vmaster_hook)(void *, int);
 static bool is_thinkpad(struct hda_codec *codec)
 {
        return (codec->core.subsystem_id >> 16 == 0x17aa) &&
-              (acpi_dev_found("LEN0068") || acpi_dev_found("IBM0068"));
+              (acpi_dev_found("LEN0068") || acpi_dev_found("LEN0268") ||
+               acpi_dev_found("IBM0068"));
 }
 
 static void update_tpacpi_mute_led(void *private_data, int enabled)
diff --git a/sound/usb/card.c b/sound/usb/card.c
index 9e5276d6dda0..2ddc034673a8 100644
--- a/sound/usb/card.c
+++ b/sound/usb/card.c
@@ -315,7 +315,8 @@ static int snd_usb_audio_free(struct snd_usb_audio *chip)
                snd_usb_endpoint_free(ep);
 
        mutex_destroy(&chip->mutex);
-       dev_set_drvdata(&chip->dev->dev, NULL);
+       if (!atomic_read(&chip->shutdown))
+               dev_set_drvdata(&chip->dev->dev, NULL);
        kfree(chip);
        return 0;
 }

Reply via email to