Skip to content

Commit 9ef7dce

Browse files
committed
Merge tag 'sound-5.9-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai: "Just a handful small device-specific fixes including a couple of reverts" * tag 'sound-5.9-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: Revert "ALSA: usb-audio: Disable Lenovo P620 Rear line-in volume control" Revert "ALSA: hda - Fix silent audio output and corrupted input on MSI X570-A PRO" ALSA: usb-audio: Add delay quirk for H570e USB headsets ALSA: hda/realtek: Enable front panel headset LED on Lenovo ThinkStation P520 ALSA: hda/realtek - Couldn't detect Mic if booting with headset plugged ALSA: asihpi: fix iounmap in error handler
2 parents be068f2 + c413c31 commit 9ef7dce

File tree

4 files changed

+18
-8
lines changed

4 files changed

+18
-8
lines changed

sound/pci/asihpi/hpioctl.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ int asihpi_adapter_probe(struct pci_dev *pci_dev,
343343
struct hpi_message hm;
344344
struct hpi_response hr;
345345
struct hpi_adapter adapter;
346-
struct hpi_pci pci;
346+
struct hpi_pci pci = { 0 };
347347

348348
memset(&adapter, 0, sizeof(adapter));
349349

@@ -499,7 +499,7 @@ int asihpi_adapter_probe(struct pci_dev *pci_dev,
499499
return 0;
500500

501501
err:
502-
for (idx = 0; idx < HPI_MAX_ADAPTER_MEM_SPACES; idx++) {
502+
while (--idx >= 0) {
503503
if (pci.ap_mem_base[idx]) {
504504
iounmap(pci.ap_mem_base[idx]);
505505
pci.ap_mem_base[idx] = NULL;

sound/pci/hda/patch_realtek.c

+12-2
Original file line numberDiff line numberDiff line change
@@ -2475,7 +2475,6 @@ static const struct snd_pci_quirk alc882_fixup_tbl[] = {
24752475
SND_PCI_QUIRK(0x1462, 0x1276, "MSI-GL73", ALC1220_FIXUP_CLEVO_P950),
24762476
SND_PCI_QUIRK(0x1462, 0x1293, "MSI-GP65", ALC1220_FIXUP_CLEVO_P950),
24772477
SND_PCI_QUIRK(0x1462, 0x7350, "MSI-7350", ALC889_FIXUP_CD),
2478-
SND_PCI_QUIRK(0x1462, 0x9c37, "MSI X570-A PRO", ALC1220_FIXUP_CLEVO_P950),
24792478
SND_PCI_QUIRK(0x1462, 0xda57, "MSI Z270-Gaming", ALC1220_FIXUP_GB_DUAL_CODECS),
24802479
SND_PCI_QUIRK_VENDOR(0x1462, "MSI", ALC882_FIXUP_GPIO3),
24812480
SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", ALC882_FIXUP_ABIT_AW9D_MAX),
@@ -3428,7 +3427,11 @@ static void alc256_shutup(struct hda_codec *codec)
34283427

34293428
/* 3k pull low control for Headset jack. */
34303429
/* NOTE: call this before clearing the pin, otherwise codec stalls */
3431-
alc_update_coef_idx(codec, 0x46, 0, 3 << 12);
3430+
/* If disable 3k pulldown control for alc257, the Mic detection will not work correctly
3431+
* when booting with headset plugged. So skip setting it for the codec alc257
3432+
*/
3433+
if (codec->core.vendor_id != 0x10ec0257)
3434+
alc_update_coef_idx(codec, 0x46, 0, 3 << 12);
34323435

34333436
if (!spec->no_shutup_pins)
34343437
snd_hda_codec_write(codec, hp_pin, 0,
@@ -6051,6 +6054,7 @@ static void alc_fixup_thinkpad_acpi(struct hda_codec *codec,
60516054
#include "hp_x360_helper.c"
60526055

60536056
enum {
6057+
ALC269_FIXUP_GPIO2,
60546058
ALC269_FIXUP_SONY_VAIO,
60556059
ALC275_FIXUP_SONY_VAIO_GPIO2,
60566060
ALC269_FIXUP_DELL_M101Z,
@@ -6232,6 +6236,10 @@ enum {
62326236
};
62336237

62346238
static const struct hda_fixup alc269_fixups[] = {
6239+
[ALC269_FIXUP_GPIO2] = {
6240+
.type = HDA_FIXUP_FUNC,
6241+
.v.func = alc_fixup_gpio2,
6242+
},
62356243
[ALC269_FIXUP_SONY_VAIO] = {
62366244
.type = HDA_FIXUP_PINCTLS,
62376245
.v.pins = (const struct hda_pintbl[]) {
@@ -7051,6 +7059,8 @@ static const struct hda_fixup alc269_fixups[] = {
70517059
[ALC233_FIXUP_LENOVO_MULTI_CODECS] = {
70527060
.type = HDA_FIXUP_FUNC,
70537061
.v.func = alc233_alc662_fixup_lenovo_dual_codecs,
7062+
.chained = true,
7063+
.chain_id = ALC269_FIXUP_GPIO2
70547064
},
70557065
[ALC233_FIXUP_ACER_HEADSET_MIC] = {
70567066
.type = HDA_FIXUP_VERBS,

sound/usb/mixer_maps.c

-1
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,6 @@ static const struct usbmix_name_map asus_rog_map[] = {
371371
};
372372

373373
static const struct usbmix_name_map lenovo_p620_rear_map[] = {
374-
{ 19, NULL, 2 }, /* FU, Volume */
375374
{ 19, NULL, 12 }, /* FU, Input Gain Pad */
376375
{}
377376
};

sound/usb/quirks.c

+4-3
Original file line numberDiff line numberDiff line change
@@ -1678,12 +1678,13 @@ void snd_usb_ctl_msg_quirk(struct usb_device *dev, unsigned int pipe,
16781678
&& (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS)
16791679
msleep(20);
16801680

1681-
/* Zoom R16/24, Logitech H650e, Jabra 550a, Kingston HyperX needs a tiny
1682-
* delay here, otherwise requests like get/set frequency return as
1683-
* failed despite actually succeeding.
1681+
/* Zoom R16/24, Logitech H650e/H570e, Jabra 550a, Kingston HyperX
1682+
* needs a tiny delay here, otherwise requests like get/set
1683+
* frequency return as failed despite actually succeeding.
16841684
*/
16851685
if ((chip->usb_id == USB_ID(0x1686, 0x00dd) ||
16861686
chip->usb_id == USB_ID(0x046d, 0x0a46) ||
1687+
chip->usb_id == USB_ID(0x046d, 0x0a56) ||
16871688
chip->usb_id == USB_ID(0x0b0e, 0x0349) ||
16881689
chip->usb_id == USB_ID(0x0951, 0x16ad)) &&
16891690
(requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS)

0 commit comments

Comments
 (0)