Merge tag 'sound-4.9-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull sound fixes from Takashi Iwai:
"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"

* tag 'sound-4.9-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
ALSA: usb-audio: Fix use-after-free of usb_device at disconnect
ALSA: hda - Fix mic regression by ASRock mobo fixup
ALSA: hda - add a new condition to check if it is thinkpad

+4 -4
-2
sound/pci/hda/patch_realtek.c
··· 6907 .v.pins = (const struct hda_pintbl[]) { 6908 { 0x15, 0x40f000f0 }, /* disabled */ 6909 { 0x16, 0x40f000f0 }, /* disabled */ 6910 - { 0x18, 0x01014011 }, /* LO */ 6911 - { 0x1a, 0x01014012 }, /* LO */ 6912 { } 6913 } 6914 },
··· 6907 .v.pins = (const struct hda_pintbl[]) { 6908 { 0x15, 0x40f000f0 }, /* disabled */ 6909 { 0x16, 0x40f000f0 }, /* disabled */ 6910 { } 6911 } 6912 },
+2 -1
sound/pci/hda/thinkpad_helper.c
··· 13 static bool is_thinkpad(struct hda_codec *codec) 14 { 15 return (codec->core.subsystem_id >> 16 == 0x17aa) && 16 - (acpi_dev_found("LEN0068") || acpi_dev_found("IBM0068")); 17 } 18 19 static void update_tpacpi_mute_led(void *private_data, int enabled)
··· 13 static bool is_thinkpad(struct hda_codec *codec) 14 { 15 return (codec->core.subsystem_id >> 16 == 0x17aa) && 16 + (acpi_dev_found("LEN0068") || acpi_dev_found("LEN0268") || 17 + acpi_dev_found("IBM0068")); 18 } 19 20 static void update_tpacpi_mute_led(void *private_data, int enabled)
+2 -1
sound/usb/card.c
··· 315 snd_usb_endpoint_free(ep); 316 317 mutex_destroy(&chip->mutex); 318 - dev_set_drvdata(&chip->dev->dev, NULL); 319 kfree(chip); 320 return 0; 321 }
··· 315 snd_usb_endpoint_free(ep); 316 317 mutex_destroy(&chip->mutex); 318 + if (!atomic_read(&chip->shutdown)) 319 + dev_set_drvdata(&chip->dev->dev, NULL); 320 kfree(chip); 321 return 0; 322 }