Skip to content

Commit dd9c173

Browse files
committed
Merge tag 'sound-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai: "Some last-minute fixes. All changes are device-specific small fixes or quirks, safe to apply" * tag 'sound-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ASoC: mediatek: common: fix device and OF node leak ALSA: hda/realtek: Fix mute LED mask on HP OMEN 16 laptop ALSA: usb-audio: qcom: Adjust mutex unlock order ASoC: SDCA: correct the calculation of the maximum init table size ASoC: rt5650: Eliminate the high frequency glitch ASoC: SOF: Intel: PTL: Add the sdw_process_wakeen op ALSA: hda/realtek - Add mute LED support for HP Pavilion 15-eg0xxx ALSA: hda/realtek - Add mute LED support for HP Victus 15-fa0xxx ASoC: mediatek: mt8365-dai-i2s: pass correct size to mt8365_dai_set_priv
2 parents cef6c8c + 0d57ed9 commit dd9c173

File tree

7 files changed

+14
-7
lines changed

7 files changed

+14
-7
lines changed

sound/pci/hda/patch_realtek.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4753,7 +4753,7 @@ static void alc245_fixup_hp_mute_led_v1_coefbit(struct hda_codec *codec,
47534753
if (action == HDA_FIXUP_ACT_PRE_PROBE) {
47544754
spec->mute_led_polarity = 0;
47554755
spec->mute_led_coef.idx = 0x0b;
4756-
spec->mute_led_coef.mask = 1 << 3;
4756+
spec->mute_led_coef.mask = 3 << 2;
47574757
spec->mute_led_coef.on = 1 << 3;
47584758
spec->mute_led_coef.off = 0;
47594759
snd_hda_gen_add_mute_led_cdev(codec, coef_mute_led_set);
@@ -10694,6 +10694,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
1069410694
SND_PCI_QUIRK(0x103c, 0x8788, "HP OMEN 15", ALC285_FIXUP_HP_MUTE_LED),
1069510695
SND_PCI_QUIRK(0x103c, 0x87b7, "HP Laptop 14-fq0xxx", ALC236_FIXUP_HP_MUTE_LED_COEFBIT2),
1069610696
SND_PCI_QUIRK(0x103c, 0x87c8, "HP", ALC287_FIXUP_HP_GPIO_LED),
10697+
SND_PCI_QUIRK(0x103c, 0x87cc, "HP Pavilion 15-eg0xxx", ALC287_FIXUP_HP_GPIO_LED),
1069710698
SND_PCI_QUIRK(0x103c, 0x87d3, "HP Laptop 15-gw0xxx", ALC236_FIXUP_HP_MUTE_LED_COEFBIT2),
1069810699
SND_PCI_QUIRK(0x103c, 0x87df, "HP ProBook 430 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED),
1069910700
SND_PCI_QUIRK(0x103c, 0x87e5, "HP ProBook 440 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED),
@@ -10772,6 +10773,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
1077210773
SND_PCI_QUIRK(0x103c, 0x8a2e, "HP Envy 16", ALC287_FIXUP_CS35L41_I2C_2),
1077310774
SND_PCI_QUIRK(0x103c, 0x8a30, "HP Envy 17", ALC287_FIXUP_CS35L41_I2C_2),
1077410775
SND_PCI_QUIRK(0x103c, 0x8a31, "HP Envy 15", ALC287_FIXUP_CS35L41_I2C_2),
10776+
SND_PCI_QUIRK(0x103c, 0x8a4f, "HP Victus 15-fa0xxx (MB 8A4F)", ALC245_FIXUP_HP_MUTE_LED_COEFBIT),
1077510777
SND_PCI_QUIRK(0x103c, 0x8a6e, "HP EDNA 360", ALC287_FIXUP_CS35L41_I2C_4),
1077610778
SND_PCI_QUIRK(0x103c, 0x8a74, "HP ProBook 440 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED),
1077710779
SND_PCI_QUIRK(0x103c, 0x8a78, "HP Dev One", ALC285_FIXUP_HP_LIMIT_INT_MIC_BOOST),

sound/soc/codecs/rt5645.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ static const struct reg_sequence rt5650_init_list[] = {
8282
{0xf6, 0x0100},
8383
{RT5645_PWR_ANLG1, 0x02},
8484
{RT5645_IL_CMD3, 0x6728},
85+
{RT5645_PR_BASE + 0x3a, 0x0000},
8586
};
8687

8788
static const struct reg_default rt5645_reg[] = {

sound/soc/mediatek/common/mtk-soundcard-driver.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,9 +262,13 @@ int mtk_soundcard_common_probe(struct platform_device *pdev)
262262
soc_card_data->accdet = accdet_comp;
263263
else
264264
dev_err(&pdev->dev, "No sound component found from mediatek,accdet property\n");
265+
266+
put_device(&accdet_pdev->dev);
265267
} else {
266268
dev_err(&pdev->dev, "No device found from mediatek,accdet property\n");
267269
}
270+
271+
of_node_put(accdet_node);
268272
}
269273

270274
platform_node = of_parse_phandle(pdev->dev.of_node, "mediatek,platform", 0);

sound/soc/mediatek/mt8365/mt8365-dai-i2s.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -812,11 +812,10 @@ static const struct snd_soc_dapm_route mtk_dai_i2s_routes[] = {
812812
static int mt8365_dai_i2s_set_priv(struct mtk_base_afe *afe)
813813
{
814814
int i, ret;
815-
struct mt8365_afe_private *afe_priv = afe->platform_priv;
816815

817816
for (i = 0; i < DAI_I2S_NUM; i++) {
818817
ret = mt8365_dai_set_priv(afe, mt8365_i2s_priv[i].id,
819-
sizeof(*afe_priv),
818+
sizeof(mt8365_i2s_priv[i]),
820819
&mt8365_i2s_priv[i]);
821820
if (ret)
822821
return ret;

sound/soc/sdca/sdca_functions.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ static int find_sdca_init_table(struct device *dev,
211211
} else if (num_init_writes % sizeof(*raw) != 0) {
212212
dev_err(dev, "%pfwP: init table size invalid\n", function_node);
213213
return -EINVAL;
214-
} else if (num_init_writes > SDCA_MAX_INIT_COUNT) {
214+
} else if ((num_init_writes / sizeof(*raw)) > SDCA_MAX_INIT_COUNT) {
215215
dev_err(dev, "%pfwP: maximum init table size exceeded\n", function_node);
216216
return -EINVAL;
217217
}

sound/soc/sof/intel/ptl.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ const struct sof_intel_dsp_desc ptl_chip_info = {
117117
.read_sdw_lcount = hda_sdw_check_lcount_ext,
118118
.check_sdw_irq = lnl_dsp_check_sdw_irq,
119119
.check_sdw_wakeen_irq = lnl_sdw_check_wakeen_irq,
120+
.sdw_process_wakeen = hda_sdw_process_wakeen_common,
120121
.check_ipc_irq = mtl_dsp_check_ipc_irq,
121122
.check_mic_privacy_irq = sof_ptl_check_mic_privacy_irq,
122123
.process_mic_privacy = sof_ptl_process_mic_privacy,

sound/usb/qcom/qc_audio_offload.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -825,8 +825,8 @@ static int uaudio_sideband_notifier(struct usb_interface *intf,
825825
}
826826
}
827827

828-
mutex_unlock(&qdev_mutex);
829828
mutex_unlock(&chip->mutex);
829+
mutex_unlock(&qdev_mutex);
830830

831831
return 0;
832832
}
@@ -1865,8 +1865,8 @@ static void qc_usb_audio_offload_disconnect(struct snd_usb_audio *chip)
18651865

18661866
/* Device has already been cleaned up, or never populated */
18671867
if (!dev->chip) {
1868-
mutex_unlock(&qdev_mutex);
18691868
mutex_unlock(&chip->mutex);
1869+
mutex_unlock(&qdev_mutex);
18701870
return;
18711871
}
18721872

@@ -1921,8 +1921,8 @@ static void qc_usb_audio_offload_suspend(struct usb_interface *intf,
19211921

19221922
uaudio_send_disconnect_ind(chip);
19231923

1924-
mutex_unlock(&qdev_mutex);
19251924
mutex_unlock(&chip->mutex);
1925+
mutex_unlock(&qdev_mutex);
19261926
}
19271927

19281928
static struct snd_usb_platform_ops offload_ops = {

0 commit comments

Comments
 (0)