Skip to content

Commit 3551e67

Browse files
committed
Merge tag 'sound-fix-6.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai: "A collection of device-specific fixes that have been gathered since the previous pull: - A few more HD-audio quirks and fixups - A series of Qualcomm AudioReach fixes - Various small fixes for ASoC rt5665, WSA, SOF and Cirrus" * tag 'sound-fix-6.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda/realtek: Fix built-in mic on another ASUS VivoBook model ALSA: hda/realtek - Support mute led function for HP platform ASoC: imx-card: Add NULL check in imx_card_probe() ASoC: codecs: rt5665: Fix some error handling paths in rt5665_probe() ASoC: q6apm-dai: make use of q6apm_get_hw_pointer ASoC: qdsp6: q6apm-dai: fix capture pipeline overruns. ASoC: qdsp6: q6apm-dai: set 10 ms period and buffer alignment. ASoC: q6apm: add q6apm_get_hw_pointer helper ASoC: q6apm-dai: schedule all available frames to avoid dsp under-runs ASoC: SOF: hda/ptl: Move mic privacy change notification sending to a work ALSA/hda: intel-sdw-acpi: Remove (explicitly) unused header ALSA: hda/realtek: Enable Mute LED on HP OMEN 16 Laptop xd000xx ALSA: hda/tas2781: Upgrade calibratd-data writing code to support Alpha and Beta dsp firmware ASoC: qdsp6: q6asm-dai: fix q6asm_dai_compr_set_params error path ALSA: hda/realtek: Fix built-in mic breakage on ASUS VivoBook X515JA ASoC: sma1307: Fix error handling in sma1307_setting_loaded() ASoC: codecs: wsa884x: Correct VI sense channel mask ASoC: codecs: wsa883x: Correct VI sense channel mask firmware: cs_dsp: Ensure cs_dsp_load[_coeff]() returns 0 on success
2 parents e48e99b + 02dc9b9 commit 3551e67

File tree

17 files changed

+205
-90
lines changed

17 files changed

+205
-90
lines changed

drivers/firmware/cirrus/cs_dsp.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1631,6 +1631,7 @@ static int cs_dsp_load(struct cs_dsp *dsp, const struct firmware *firmware,
16311631

16321632
cs_dsp_debugfs_save_wmfwname(dsp, file);
16331633

1634+
ret = 0;
16341635
out_fw:
16351636
cs_dsp_buf_free(&buf_list);
16361637

@@ -2338,6 +2339,7 @@ static int cs_dsp_load_coeff(struct cs_dsp *dsp, const struct firmware *firmware
23382339

23392340
cs_dsp_debugfs_save_binname(dsp, file);
23402341

2342+
ret = 0;
23412343
out_fw:
23422344
cs_dsp_buf_free(&buf_list);
23432345

sound/hda/intel-sdw-acpi.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
#include <linux/device.h>
1212
#include <linux/errno.h>
1313
#include <linux/export.h>
14-
#include <linux/fwnode.h>
1514
#include <linux/module.h>
15+
#include <linux/property.h>
1616
#include <linux/soundwire/sdw_intel.h>
1717
#include <linux/string.h>
1818

sound/pci/hda/patch_realtek.c

Lines changed: 56 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4743,6 +4743,22 @@ static void alc245_fixup_hp_mute_led_coefbit(struct hda_codec *codec,
47434743
}
47444744
}
47454745

4746+
static void alc245_fixup_hp_mute_led_v1_coefbit(struct hda_codec *codec,
4747+
const struct hda_fixup *fix,
4748+
int action)
4749+
{
4750+
struct alc_spec *spec = codec->spec;
4751+
4752+
if (action == HDA_FIXUP_ACT_PRE_PROBE) {
4753+
spec->mute_led_polarity = 0;
4754+
spec->mute_led_coef.idx = 0x0b;
4755+
spec->mute_led_coef.mask = 1 << 3;
4756+
spec->mute_led_coef.on = 1 << 3;
4757+
spec->mute_led_coef.off = 0;
4758+
snd_hda_gen_add_mute_led_cdev(codec, coef_mute_led_set);
4759+
}
4760+
}
4761+
47464762
/* turn on/off mic-mute LED per capture hook by coef bit */
47474763
static int coef_micmute_led_set(struct led_classdev *led_cdev,
47484764
enum led_brightness brightness)
@@ -7574,6 +7590,24 @@ static void alc245_fixup_hp_spectre_x360_16_aa0xxx(struct hda_codec *codec,
75747590
alc245_fixup_hp_gpio_led(codec, fix, action);
75757591
}
75767592

7593+
static void alc245_fixup_hp_zbook_firefly_g12a(struct hda_codec *codec,
7594+
const struct hda_fixup *fix, int action)
7595+
{
7596+
struct alc_spec *spec = codec->spec;
7597+
static const hda_nid_t conn[] = { 0x02 };
7598+
7599+
switch (action) {
7600+
case HDA_FIXUP_ACT_PRE_PROBE:
7601+
spec->gen.auto_mute_via_amp = 1;
7602+
snd_hda_override_conn_list(codec, 0x17, ARRAY_SIZE(conn), conn);
7603+
break;
7604+
}
7605+
7606+
cs35l41_fixup_i2c_two(codec, fix, action);
7607+
alc245_fixup_hp_mute_led_coefbit(codec, fix, action);
7608+
alc285_fixup_hp_coef_micmute_led(codec, fix, action);
7609+
}
7610+
75777611
/*
75787612
* ALC287 PCM hooks
75797613
*/
@@ -7911,6 +7945,7 @@ enum {
79117945
ALC245_FIXUP_TAS2781_SPI_2,
79127946
ALC287_FIXUP_YOGA7_14ARB7_I2C,
79137947
ALC245_FIXUP_HP_MUTE_LED_COEFBIT,
7948+
ALC245_FIXUP_HP_MUTE_LED_V1_COEFBIT,
79147949
ALC245_FIXUP_HP_X360_MUTE_LEDS,
79157950
ALC287_FIXUP_THINKPAD_I2S_SPK,
79167951
ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD,
@@ -7921,6 +7956,7 @@ enum {
79217956
ALC256_FIXUP_HEADPHONE_AMP_VOL,
79227957
ALC245_FIXUP_HP_SPECTRE_X360_EU0XXX,
79237958
ALC245_FIXUP_HP_SPECTRE_X360_16_AA0XXX,
7959+
ALC245_FIXUP_HP_ZBOOK_FIREFLY_G12A,
79247960
ALC285_FIXUP_ASUS_GA403U,
79257961
ALC285_FIXUP_ASUS_GA403U_HEADSET_MIC,
79267962
ALC285_FIXUP_ASUS_GA403U_I2C_SPEAKER2_TO_DAC1,
@@ -10164,6 +10200,10 @@ static const struct hda_fixup alc269_fixups[] = {
1016410200
.type = HDA_FIXUP_FUNC,
1016510201
.v.func = alc245_fixup_hp_mute_led_coefbit,
1016610202
},
10203+
[ALC245_FIXUP_HP_MUTE_LED_V1_COEFBIT] = {
10204+
.type = HDA_FIXUP_FUNC,
10205+
.v.func = alc245_fixup_hp_mute_led_v1_coefbit,
10206+
},
1016710207
[ALC245_FIXUP_HP_X360_MUTE_LEDS] = {
1016810208
.type = HDA_FIXUP_FUNC,
1016910209
.v.func = alc245_fixup_hp_mute_led_coefbit,
@@ -10212,6 +10252,10 @@ static const struct hda_fixup alc269_fixups[] = {
1021210252
.type = HDA_FIXUP_FUNC,
1021310253
.v.func = alc245_fixup_hp_spectre_x360_16_aa0xxx,
1021410254
},
10255+
[ALC245_FIXUP_HP_ZBOOK_FIREFLY_G12A] = {
10256+
.type = HDA_FIXUP_FUNC,
10257+
.v.func = alc245_fixup_hp_zbook_firefly_g12a,
10258+
},
1021510259
[ALC285_FIXUP_ASUS_GA403U] = {
1021610260
.type = HDA_FIXUP_FUNC,
1021710261
.v.func = alc285_fixup_asus_ga403u,
@@ -10658,6 +10702,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
1065810702
SND_PCI_QUIRK(0x103c, 0x8b97, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
1065910703
SND_PCI_QUIRK(0x103c, 0x8bb3, "HP Slim OMEN", ALC287_FIXUP_CS35L41_I2C_2),
1066010704
SND_PCI_QUIRK(0x103c, 0x8bb4, "HP Slim OMEN", ALC287_FIXUP_CS35L41_I2C_2),
10705+
SND_PCI_QUIRK(0x103c, 0x8bcd, "HP Omen 16-xd0xxx", ALC245_FIXUP_HP_MUTE_LED_V1_COEFBIT),
1066110706
SND_PCI_QUIRK(0x103c, 0x8bdd, "HP Envy 17", ALC287_FIXUP_CS35L41_I2C_2),
1066210707
SND_PCI_QUIRK(0x103c, 0x8bde, "HP Envy 17", ALC287_FIXUP_CS35L41_I2C_2),
1066310708
SND_PCI_QUIRK(0x103c, 0x8bdf, "HP Envy 15", ALC287_FIXUP_CS35L41_I2C_2),
@@ -10751,15 +10796,15 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
1075110796
SND_PCI_QUIRK(0x103c, 0x8e11, "HP Trekker", ALC287_FIXUP_CS35L41_I2C_2),
1075210797
SND_PCI_QUIRK(0x103c, 0x8e12, "HP Trekker", ALC287_FIXUP_CS35L41_I2C_2),
1075310798
SND_PCI_QUIRK(0x103c, 0x8e13, "HP Trekker", ALC287_FIXUP_CS35L41_I2C_2),
10754-
SND_PCI_QUIRK(0x103c, 0x8e14, "HP ZBook Firefly 14 G12", ALC285_FIXUP_HP_GPIO_LED),
10755-
SND_PCI_QUIRK(0x103c, 0x8e15, "HP ZBook Firefly 14 G12", ALC285_FIXUP_HP_GPIO_LED),
10756-
SND_PCI_QUIRK(0x103c, 0x8e16, "HP ZBook Firefly 14 G12", ALC285_FIXUP_HP_GPIO_LED),
10757-
SND_PCI_QUIRK(0x103c, 0x8e17, "HP ZBook Firefly 14 G12", ALC285_FIXUP_HP_GPIO_LED),
10758-
SND_PCI_QUIRK(0x103c, 0x8e18, "HP ZBook Firefly 14 G12A", ALC285_FIXUP_HP_GPIO_LED),
10759-
SND_PCI_QUIRK(0x103c, 0x8e19, "HP ZBook Firefly 14 G12A", ALC285_FIXUP_HP_GPIO_LED),
10760-
SND_PCI_QUIRK(0x103c, 0x8e1a, "HP ZBook Firefly 14 G12A", ALC285_FIXUP_HP_GPIO_LED),
10761-
SND_PCI_QUIRK(0x103c, 0x8e1b, "HP EliteBook G12", ALC285_FIXUP_HP_GPIO_LED),
10762-
SND_PCI_QUIRK(0x103c, 0x8e1c, "HP EliteBook G12", ALC285_FIXUP_HP_GPIO_LED),
10799+
SND_PCI_QUIRK(0x103c, 0x8e14, "HP ZBook Firefly 14 G12", ALC245_FIXUP_HP_ZBOOK_FIREFLY_G12A),
10800+
SND_PCI_QUIRK(0x103c, 0x8e15, "HP ZBook Firefly 14 G12", ALC245_FIXUP_HP_ZBOOK_FIREFLY_G12A),
10801+
SND_PCI_QUIRK(0x103c, 0x8e16, "HP ZBook Firefly 14 G12", ALC245_FIXUP_HP_ZBOOK_FIREFLY_G12A),
10802+
SND_PCI_QUIRK(0x103c, 0x8e17, "HP ZBook Firefly 14 G12", ALC245_FIXUP_HP_ZBOOK_FIREFLY_G12A),
10803+
SND_PCI_QUIRK(0x103c, 0x8e18, "HP ZBook Firefly 14 G12A", ALC245_FIXUP_HP_ZBOOK_FIREFLY_G12A),
10804+
SND_PCI_QUIRK(0x103c, 0x8e19, "HP ZBook Firefly 14 G12A", ALC245_FIXUP_HP_ZBOOK_FIREFLY_G12A),
10805+
SND_PCI_QUIRK(0x103c, 0x8e1a, "HP ZBook Firefly 14 G12A", ALC245_FIXUP_HP_ZBOOK_FIREFLY_G12A),
10806+
SND_PCI_QUIRK(0x103c, 0x8e1b, "HP EliteBook G12", ALC245_FIXUP_HP_ZBOOK_FIREFLY_G12A),
10807+
SND_PCI_QUIRK(0x103c, 0x8e1c, "HP EliteBook G12", ALC245_FIXUP_HP_ZBOOK_FIREFLY_G12A),
1076310808
SND_PCI_QUIRK(0x103c, 0x8e2c, "HP EliteBook 16 G12", ALC285_FIXUP_HP_GPIO_LED),
1076410809
SND_PCI_QUIRK(0x103c, 0x8e36, "HP 14 Enstrom OmniBook X", ALC287_FIXUP_CS35L41_I2C_2),
1076510810
SND_PCI_QUIRK(0x103c, 0x8e37, "HP 16 Piston OmniBook X", ALC287_FIXUP_CS35L41_I2C_2),
@@ -10804,6 +10849,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
1080410849
SND_PCI_QUIRK(0x1043, 0x1493, "ASUS GV601VV/VU/VJ/VQ/VI", ALC285_FIXUP_ASUS_HEADSET_MIC),
1080510850
SND_PCI_QUIRK(0x1043, 0x14d3, "ASUS G614JY/JZ/JG", ALC245_FIXUP_CS35L41_SPI_2),
1080610851
SND_PCI_QUIRK(0x1043, 0x14e3, "ASUS G513PI/PU/PV", ALC287_FIXUP_CS35L41_I2C_2),
10852+
SND_PCI_QUIRK(0x1043, 0x14f2, "ASUS VivoBook X515JA", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE),
1080710853
SND_PCI_QUIRK(0x1043, 0x1503, "ASUS G733PY/PZ/PZV/PYV", ALC287_FIXUP_CS35L41_I2C_2),
1080810854
SND_PCI_QUIRK(0x1043, 0x1517, "Asus Zenbook UX31A", ALC269VB_FIXUP_ASUS_ZENBOOK_UX31A),
1080910855
SND_PCI_QUIRK(0x1043, 0x1533, "ASUS GV302XA/XJ/XQ/XU/XV/XI", ALC287_FIXUP_CS35L41_I2C_2),
@@ -10843,6 +10889,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
1084310889
SND_PCI_QUIRK(0x1043, 0x1c43, "ASUS UX8406MA", ALC245_FIXUP_CS35L41_SPI_2),
1084410890
SND_PCI_QUIRK(0x1043, 0x1c62, "ASUS GU603", ALC289_FIXUP_ASUS_GA401),
1084510891
SND_PCI_QUIRK(0x1043, 0x1c63, "ASUS GU605M", ALC285_FIXUP_ASUS_GU605_SPI_SPEAKER2_TO_DAC1),
10892+
SND_PCI_QUIRK(0x1043, 0x1c80, "ASUS VivoBook TP401", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE),
1084610893
SND_PCI_QUIRK(0x1043, 0x1c92, "ASUS ROG Strix G15", ALC285_FIXUP_ASUS_G533Z_PINS),
1084710894
SND_PCI_QUIRK(0x1043, 0x1c9f, "ASUS G614JU/JV/JI", ALC285_FIXUP_ASUS_HEADSET_MIC),
1084810895
SND_PCI_QUIRK(0x1043, 0x1caf, "ASUS G634JY/JZ/JI/JG", ALC285_FIXUP_ASUS_SPI_REAR_SPEAKERS),

sound/pci/hda/tas2781_hda_i2c.c

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -558,28 +558,38 @@ static int tas2563_save_calibration(struct tasdevice_priv *tas_priv)
558558

559559
static void tas2781_apply_calib(struct tasdevice_priv *tas_priv)
560560
{
561-
static const unsigned char page_array[CALIB_MAX] = {
562-
0x17, 0x18, 0x18, 0x13, 0x18,
561+
struct calidata *cali_data = &tas_priv->cali_data;
562+
struct cali_reg *r = &cali_data->cali_reg_array;
563+
unsigned int cali_reg[CALIB_MAX] = {
564+
TASDEVICE_REG(0, 0x17, 0x74),
565+
TASDEVICE_REG(0, 0x18, 0x0c),
566+
TASDEVICE_REG(0, 0x18, 0x14),
567+
TASDEVICE_REG(0, 0x13, 0x70),
568+
TASDEVICE_REG(0, 0x18, 0x7c),
563569
};
564-
static const unsigned char rgno_array[CALIB_MAX] = {
565-
0x74, 0x0c, 0x14, 0x70, 0x7c,
566-
};
567-
int offset = 0;
568570
int i, j, rc;
571+
int oft = 0;
569572
__be32 data;
570573

574+
if (tas_priv->dspbin_typ != TASDEV_BASIC) {
575+
cali_reg[0] = r->r0_reg;
576+
cali_reg[1] = r->invr0_reg;
577+
cali_reg[2] = r->r0_low_reg;
578+
cali_reg[3] = r->pow_reg;
579+
cali_reg[4] = r->tlimit_reg;
580+
}
581+
571582
for (i = 0; i < tas_priv->ndev; i++) {
572583
for (j = 0; j < CALIB_MAX; j++) {
573584
data = cpu_to_be32(
574-
*(uint32_t *)&tas_priv->cali_data.data[offset]);
585+
*(uint32_t *)&tas_priv->cali_data.data[oft]);
575586
rc = tasdevice_dev_bulk_write(tas_priv, i,
576-
TASDEVICE_REG(0, page_array[j], rgno_array[j]),
577-
(unsigned char *)&data, 4);
587+
cali_reg[j], (unsigned char *)&data, 4);
578588
if (rc < 0)
579589
dev_err(tas_priv->dev,
580590
"chn %d calib %d bulk_wr err = %d\n",
581591
i, j, rc);
582-
offset += 4;
592+
oft += 4;
583593
}
584594
}
585595
}

sound/soc/codecs/rt5665.c

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,7 @@
3131
#include "rl6231.h"
3232
#include "rt5665.h"
3333

34-
#define RT5665_NUM_SUPPLIES 3
35-
36-
static const char *rt5665_supply_names[RT5665_NUM_SUPPLIES] = {
34+
static const char * const rt5665_supply_names[] = {
3735
"AVDD",
3836
"MICVDD",
3937
"VBAT",
@@ -46,7 +44,6 @@ struct rt5665_priv {
4644
struct gpio_desc *gpiod_ldo1_en;
4745
struct gpio_desc *gpiod_reset;
4846
struct snd_soc_jack *hs_jack;
49-
struct regulator_bulk_data supplies[RT5665_NUM_SUPPLIES];
5047
struct delayed_work jack_detect_work;
5148
struct delayed_work calibrate_work;
5249
struct delayed_work jd_check_work;
@@ -4471,8 +4468,6 @@ static void rt5665_remove(struct snd_soc_component *component)
44714468
struct rt5665_priv *rt5665 = snd_soc_component_get_drvdata(component);
44724469

44734470
regmap_write(rt5665->regmap, RT5665_RESET, 0);
4474-
4475-
regulator_bulk_disable(ARRAY_SIZE(rt5665->supplies), rt5665->supplies);
44764471
}
44774472

44784473
#ifdef CONFIG_PM
@@ -4758,7 +4753,7 @@ static int rt5665_i2c_probe(struct i2c_client *i2c)
47584753
{
47594754
struct rt5665_platform_data *pdata = dev_get_platdata(&i2c->dev);
47604755
struct rt5665_priv *rt5665;
4761-
int i, ret;
4756+
int ret;
47624757
unsigned int val;
47634758

47644759
rt5665 = devm_kzalloc(&i2c->dev, sizeof(struct rt5665_priv),
@@ -4774,24 +4769,13 @@ static int rt5665_i2c_probe(struct i2c_client *i2c)
47744769
else
47754770
rt5665_parse_dt(rt5665, &i2c->dev);
47764771

4777-
for (i = 0; i < ARRAY_SIZE(rt5665->supplies); i++)
4778-
rt5665->supplies[i].supply = rt5665_supply_names[i];
4779-
4780-
ret = devm_regulator_bulk_get(&i2c->dev, ARRAY_SIZE(rt5665->supplies),
4781-
rt5665->supplies);
4772+
ret = devm_regulator_bulk_get_enable(&i2c->dev, ARRAY_SIZE(rt5665_supply_names),
4773+
rt5665_supply_names);
47824774
if (ret != 0) {
47834775
dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
47844776
return ret;
47854777
}
47864778

4787-
ret = regulator_bulk_enable(ARRAY_SIZE(rt5665->supplies),
4788-
rt5665->supplies);
4789-
if (ret != 0) {
4790-
dev_err(&i2c->dev, "Failed to enable supplies: %d\n", ret);
4791-
return ret;
4792-
}
4793-
4794-
47954779
rt5665->gpiod_ldo1_en = devm_gpiod_get_optional(&i2c->dev,
47964780
"realtek,ldo1-en",
47974781
GPIOD_OUT_HIGH);

sound/soc/codecs/sma1307.c

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1705,7 +1705,7 @@ static void sma1307_check_fault_worker(struct work_struct *work)
17051705
static void sma1307_setting_loaded(struct sma1307_priv *sma1307, const char *file)
17061706
{
17071707
const struct firmware *fw;
1708-
int *data, size, offset, num_mode;
1708+
int size, offset, num_mode;
17091709
int ret;
17101710

17111711
ret = request_firmware(&fw, file, sma1307->dev);
@@ -1722,7 +1722,7 @@ static void sma1307_setting_loaded(struct sma1307_priv *sma1307, const char *fil
17221722
return;
17231723
}
17241724

1725-
data = kzalloc(fw->size, GFP_KERNEL);
1725+
int *data __free(kfree) = kzalloc(fw->size, GFP_KERNEL);
17261726
if (!data) {
17271727
release_firmware(fw);
17281728
sma1307->set.status = false;
@@ -1742,7 +1742,6 @@ static void sma1307_setting_loaded(struct sma1307_priv *sma1307, const char *fil
17421742
sma1307->set.header_size,
17431743
GFP_KERNEL);
17441744
if (!sma1307->set.header) {
1745-
kfree(data);
17461745
sma1307->set.status = false;
17471746
return;
17481747
}
@@ -1763,8 +1762,6 @@ static void sma1307_setting_loaded(struct sma1307_priv *sma1307, const char *fil
17631762
= devm_kzalloc(sma1307->dev,
17641763
sma1307->set.def_size * sizeof(int), GFP_KERNEL);
17651764
if (!sma1307->set.def) {
1766-
kfree(data);
1767-
kfree(sma1307->set.header);
17681765
sma1307->set.status = false;
17691766
return;
17701767
}
@@ -1782,9 +1779,6 @@ static void sma1307_setting_loaded(struct sma1307_priv *sma1307, const char *fil
17821779
sma1307->set.mode_size * 2 * sizeof(int),
17831780
GFP_KERNEL);
17841781
if (!sma1307->set.mode_set[i]) {
1785-
kfree(data);
1786-
kfree(sma1307->set.header);
1787-
kfree(sma1307->set.def);
17881782
for (int j = 0; j < i; j++)
17891783
kfree(sma1307->set.mode_set[j]);
17901784
sma1307->set.status = false;
@@ -1799,7 +1793,6 @@ static void sma1307_setting_loaded(struct sma1307_priv *sma1307, const char *fil
17991793
}
18001794
}
18011795

1802-
kfree(data);
18031796
sma1307->set.status = true;
18041797

18051798
}

sound/soc/codecs/wsa883x.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -568,7 +568,7 @@ static const struct sdw_port_config wsa883x_pconfig[WSA883X_MAX_SWR_PORTS] = {
568568
},
569569
[WSA883X_PORT_VISENSE] = {
570570
.num = WSA883X_PORT_VISENSE + 1,
571-
.ch_mask = 0x3,
571+
.ch_mask = 0x1,
572572
},
573573
};
574574

sound/soc/codecs/wsa884x.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -891,7 +891,7 @@ static const struct sdw_port_config wsa884x_pconfig[WSA884X_MAX_SWR_PORTS] = {
891891
},
892892
[WSA884X_PORT_VISENSE] = {
893893
.num = WSA884X_PORT_VISENSE + 1,
894-
.ch_mask = 0x3,
894+
.ch_mask = 0x1,
895895
},
896896
[WSA884X_PORT_CPS] = {
897897
.num = WSA884X_PORT_CPS + 1,

sound/soc/fsl/imx-card.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -772,6 +772,8 @@ static int imx_card_probe(struct platform_device *pdev)
772772
data->dapm_routes[i].sink =
773773
devm_kasprintf(&pdev->dev, GFP_KERNEL, "%d %s",
774774
i + 1, "Playback");
775+
if (!data->dapm_routes[i].sink)
776+
return -ENOMEM;
775777
data->dapm_routes[i].source = "CPU-Playback";
776778
}
777779
}
@@ -789,6 +791,8 @@ static int imx_card_probe(struct platform_device *pdev)
789791
data->dapm_routes[i].source =
790792
devm_kasprintf(&pdev->dev, GFP_KERNEL, "%d %s",
791793
i + 1, "Capture");
794+
if (!data->dapm_routes[i].source)
795+
return -ENOMEM;
792796
data->dapm_routes[i].sink = "CPU-Capture";
793797
}
794798
}

0 commit comments

Comments
 (0)