Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

Pull sound fixes from Takashi Iwai:
"Just a few pending bits of random fixes in ASoC. Nothing exciting,
but would be nice to be merged in 3.17, as most of them are also for
stable kernels"

* tag 'sound-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
ASoC: ssm2602: do not hardcode type to SSM2602
ASoC: core: fix possible ZERO_SIZE_PTR pointer dereferencing error.
MAINTAINERS: add atmel audio alsa driver maintainer entry
ASoC: rt286: Fix sync function
ASoC: rt286: Correct default value
ASoC: soc-compress: fix double unlock of fe card mutex
ASoC: fsl_ssi: fix kernel panic in probe function

+20 -15
+6
MAINTAINERS
··· 1665 1665 S: Supported 1666 1666 F: drivers/tty/serial/atmel_serial.c 1667 1667 1668 + ATMEL Audio ALSA driver 1669 + M: Bo Shen <voice.shen@atmel.com> 1670 + L: alsa-devel@alsa-project.org (moderated for non-subscribers) 1671 + S: Supported 1672 + F: sound/soc/atmel 1673 + 1668 1674 ATMEL DMA DRIVER 1669 1675 M: Nicolas Ferre <nicolas.ferre@atmel.com> 1670 1676 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
+3 -4
sound/soc/codecs/rt286.c
··· 51 51 { 0x04, 0xaf01 }, 52 52 { 0x08, 0x000d }, 53 53 { 0x09, 0xd810 }, 54 - { 0x0a, 0x0060 }, 54 + { 0x0a, 0x0120 }, 55 55 { 0x0b, 0x0000 }, 56 56 { 0x0d, 0x2800 }, 57 57 { 0x0f, 0x0000 }, ··· 60 60 { 0x33, 0x0208 }, 61 61 { 0x49, 0x0004 }, 62 62 { 0x4f, 0x50e9 }, 63 - { 0x50, 0x2c00 }, 63 + { 0x50, 0x2000 }, 64 64 { 0x63, 0x2902 }, 65 65 { 0x67, 0x1111 }, 66 66 { 0x68, 0x1016 }, ··· 104 104 { 0x02170700, 0x00000000 }, 105 105 { 0x02270100, 0x00000000 }, 106 106 { 0x02370100, 0x00000000 }, 107 - { 0x02040000, 0x00004002 }, 108 107 { 0x01870700, 0x00000020 }, 109 108 { 0x00830000, 0x000000c3 }, 110 109 { 0x00930000, 0x000000c3 }, ··· 191 192 /*handle index registers*/ 192 193 if (reg <= 0xff) { 193 194 rt286_hw_write(client, RT286_COEF_INDEX, reg); 194 - reg = RT286_PROC_COEF; 195 195 for (i = 0; i < INDEX_CACHE_SIZE; i++) { 196 196 if (reg == rt286->index_cache[i].reg) { 197 197 rt286->index_cache[i].def = value; ··· 198 200 } 199 201 200 202 } 203 + reg = RT286_PROC_COEF; 201 204 } 202 205 203 206 data[0] = (reg >> 24) & 0xff;
+1 -1
sound/soc/codecs/ssm2602.c
··· 647 647 return -ENOMEM; 648 648 649 649 dev_set_drvdata(dev, ssm2602); 650 - ssm2602->type = SSM2602; 650 + ssm2602->type = type; 651 651 ssm2602->regmap = regmap; 652 652 653 653 return snd_soc_register_codec(dev, &soc_codec_dev_ssm2602,
+7 -5
sound/soc/fsl/fsl_ssi.c
··· 748 748 return 0; 749 749 } 750 750 751 - static int _fsl_ssi_set_dai_fmt(struct fsl_ssi_private *ssi_private, 752 - unsigned int fmt) 751 + static int _fsl_ssi_set_dai_fmt(struct device *dev, 752 + struct fsl_ssi_private *ssi_private, 753 + unsigned int fmt) 753 754 { 754 755 struct regmap *regs = ssi_private->regs; 755 756 u32 strcr = 0, stcr, srcr, scr, mask; ··· 759 758 ssi_private->dai_fmt = fmt; 760 759 761 760 if (fsl_ssi_is_i2s_master(ssi_private) && IS_ERR(ssi_private->baudclk)) { 762 - dev_err(&ssi_private->pdev->dev, "baudclk is missing which is necessary for master mode\n"); 761 + dev_err(dev, "baudclk is missing which is necessary for master mode\n"); 763 762 return -EINVAL; 764 763 } 765 764 ··· 914 913 { 915 914 struct fsl_ssi_private *ssi_private = snd_soc_dai_get_drvdata(cpu_dai); 916 915 917 - return _fsl_ssi_set_dai_fmt(ssi_private, fmt); 916 + return _fsl_ssi_set_dai_fmt(cpu_dai->dev, ssi_private, fmt); 918 917 } 919 918 920 919 /** ··· 1388 1387 1389 1388 done: 1390 1389 if (ssi_private->dai_fmt) 1391 - _fsl_ssi_set_dai_fmt(ssi_private, ssi_private->dai_fmt); 1390 + _fsl_ssi_set_dai_fmt(&pdev->dev, ssi_private, 1391 + ssi_private->dai_fmt); 1392 1392 1393 1393 return 0; 1394 1394
+2 -4
sound/soc/soc-compress.c
··· 102 102 fe->dpcm[stream].runtime = fe_substream->runtime; 103 103 104 104 ret = dpcm_path_get(fe, stream, &list); 105 - if (ret < 0) { 106 - mutex_unlock(&fe->card->mutex); 105 + if (ret < 0) 107 106 goto fe_err; 108 - } else if (ret == 0) { 107 + else if (ret == 0) 109 108 dev_dbg(fe->dev, "ASoC: %s no valid %s route\n", 110 109 fe->dai_link->name, stream ? "capture" : "playback"); 111 - } 112 110 113 111 /* calculate valid and active FE <-> BE dpcms */ 114 112 dpcm_process_paths(fe, stream, &list, 1);
+1 -1
sound/soc/soc-core.c
··· 3203 3203 unsigned int val, mask; 3204 3204 void *data; 3205 3205 3206 - if (!component->regmap) 3206 + if (!component->regmap || !params->num_regs) 3207 3207 return -EINVAL; 3208 3208 3209 3209 len = params->num_regs * component->val_bytes;