diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-09-16 01:13:48 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-09-16 01:13:48 -0400 |
| commit | c455ea4f122d21c91fcf4c36c3f0c08535ba3ce8 (patch) | |
| tree | 4eef0a4e28bde9715e06389d229facfb3039b01e | |
| parent | a7f934d4f16144cb9521b62e9b8c9ac0118097da (diff) | |
| parent | 763437a9e7737535b2fc72175ad4974048769be6 (diff) | |
Merge branch 'for-linus' of git://github.com/tiwai/sound
* 'for-linus' of git://github.com/tiwai/sound:
ALSA: pcm - fix race condition in wait_for_avail()
ALSA: HDA: Cirrus - fix "Surround Speaker" volume control name
ALSA: hda - Terminate the recursive connection search properly
ASoC: Fix trivial build regression in Kirkwood I2S
ASoC: Blackfin: bf5xx-ad193x: Fix codec device name
ASoC: Fix reporting of partial jack updates
ASoC: imx: Fix build warning of unused 'card' variable
ASoC: Fix register cache sync register_writable WARN_ONs
ASoC: snd_soc_codec_{readable,writable}_register change default to true
ASoC: soc-dapm: Fix parameter comment for snd_soc_dapm_free
MAINTAINERS: Add some missed Wolfson files
ASoC: MPC5200: replace of_device with platform_device
| -rw-r--r-- | MAINTAINERS | 4 | ||||
| -rw-r--r-- | sound/core/pcm_lib.c | 33 | ||||
| -rw-r--r-- | sound/pci/hda/hda_codec.c | 6 | ||||
| -rw-r--r-- | sound/pci/hda/patch_cirrus.c | 2 | ||||
| -rw-r--r-- | sound/soc/blackfin/bf5xx-ad193x.c | 4 | ||||
| -rw-r--r-- | sound/soc/fsl/mpc5200_dma.c | 6 | ||||
| -rw-r--r-- | sound/soc/imx/imx-pcm-fiq.c | 1 | ||||
| -rw-r--r-- | sound/soc/kirkwood/kirkwood-i2s.c | 2 | ||||
| -rw-r--r-- | sound/soc/soc-cache.c | 12 | ||||
| -rw-r--r-- | sound/soc/soc-core.c | 4 | ||||
| -rw-r--r-- | sound/soc/soc-dapm.c | 2 | ||||
| -rw-r--r-- | sound/soc/soc-jack.c | 2 |
12 files changed, 50 insertions, 28 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index 7658e1ffd58e..0acf9ab3d287 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
| @@ -7211,6 +7211,9 @@ W: http://opensource.wolfsonmicro.com/content/linux-drivers-wolfson-devices | |||
| 7211 | S: Supported | 7211 | S: Supported |
| 7212 | F: Documentation/hwmon/wm83?? | 7212 | F: Documentation/hwmon/wm83?? |
| 7213 | F: drivers/leds/leds-wm83*.c | 7213 | F: drivers/leds/leds-wm83*.c |
| 7214 | F: drivers/input/misc/wm831x-on.c | ||
| 7215 | F: drivers/input/touchscreen/wm831x-ts.c | ||
| 7216 | F: drivers/input/touchscreen/wm97*.c | ||
| 7214 | F: drivers/mfd/wm8*.c | 7217 | F: drivers/mfd/wm8*.c |
| 7215 | F: drivers/power/wm83*.c | 7218 | F: drivers/power/wm83*.c |
| 7216 | F: drivers/rtc/rtc-wm83*.c | 7219 | F: drivers/rtc/rtc-wm83*.c |
| @@ -7220,6 +7223,7 @@ F: drivers/watchdog/wm83*_wdt.c | |||
| 7220 | F: include/linux/mfd/wm831x/ | 7223 | F: include/linux/mfd/wm831x/ |
| 7221 | F: include/linux/mfd/wm8350/ | 7224 | F: include/linux/mfd/wm8350/ |
| 7222 | F: include/linux/mfd/wm8400* | 7225 | F: include/linux/mfd/wm8400* |
| 7226 | F: include/linux/wm97xx.h | ||
| 7223 | F: include/sound/wm????.h | 7227 | F: include/sound/wm????.h |
| 7224 | F: sound/soc/codecs/wm* | 7228 | F: sound/soc/codecs/wm* |
| 7225 | 7229 | ||
diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c index 86d0caf91b35..62e90b862a0d 100644 --- a/sound/core/pcm_lib.c +++ b/sound/core/pcm_lib.c | |||
| @@ -1761,6 +1761,10 @@ static int wait_for_avail(struct snd_pcm_substream *substream, | |||
| 1761 | snd_pcm_uframes_t avail = 0; | 1761 | snd_pcm_uframes_t avail = 0; |
| 1762 | long wait_time, tout; | 1762 | long wait_time, tout; |
| 1763 | 1763 | ||
| 1764 | init_waitqueue_entry(&wait, current); | ||
| 1765 | set_current_state(TASK_INTERRUPTIBLE); | ||
| 1766 | add_wait_queue(&runtime->tsleep, &wait); | ||
| 1767 | |||
| 1764 | if (runtime->no_period_wakeup) | 1768 | if (runtime->no_period_wakeup) |
| 1765 | wait_time = MAX_SCHEDULE_TIMEOUT; | 1769 | wait_time = MAX_SCHEDULE_TIMEOUT; |
| 1766 | else { | 1770 | else { |
| @@ -1771,16 +1775,32 @@ static int wait_for_avail(struct snd_pcm_substream *substream, | |||
| 1771 | } | 1775 | } |
| 1772 | wait_time = msecs_to_jiffies(wait_time * 1000); | 1776 | wait_time = msecs_to_jiffies(wait_time * 1000); |
| 1773 | } | 1777 | } |
| 1774 | init_waitqueue_entry(&wait, current); | 1778 | |
| 1775 | add_wait_queue(&runtime->tsleep, &wait); | ||
| 1776 | for (;;) { | 1779 | for (;;) { |
| 1777 | if (signal_pending(current)) { | 1780 | if (signal_pending(current)) { |
| 1778 | err = -ERESTARTSYS; | 1781 | err = -ERESTARTSYS; |
| 1779 | break; | 1782 | break; |
| 1780 | } | 1783 | } |
| 1784 | |||
| 1785 | /* | ||
| 1786 | * We need to check if space became available already | ||
| 1787 | * (and thus the wakeup happened already) first to close | ||
| 1788 | * the race of space already having become available. | ||
| 1789 | * This check must happen after been added to the waitqueue | ||
| 1790 | * and having current state be INTERRUPTIBLE. | ||
| 1791 | */ | ||
| 1792 | if (is_playback) | ||
| 1793 | avail = snd_pcm_playback_avail(runtime); | ||
| 1794 | else | ||
| 1795 | avail = snd_pcm_capture_avail(runtime); | ||
| 1796 | if (avail >= runtime->twake) | ||
| 1797 | break; | ||
| 1781 | snd_pcm_stream_unlock_irq(substream); | 1798 | snd_pcm_stream_unlock_irq(substream); |
| 1782 | tout = schedule_timeout_interruptible(wait_time); | 1799 | |
| 1800 | tout = schedule_timeout(wait_time); | ||
| 1801 | |||
| 1783 | snd_pcm_stream_lock_irq(substream); | 1802 | snd_pcm_stream_lock_irq(substream); |
| 1803 | set_current_state(TASK_INTERRUPTIBLE); | ||
| 1784 | switch (runtime->status->state) { | 1804 | switch (runtime->status->state) { |
| 1785 | case SNDRV_PCM_STATE_SUSPENDED: | 1805 | case SNDRV_PCM_STATE_SUSPENDED: |
| 1786 | err = -ESTRPIPE; | 1806 | err = -ESTRPIPE; |
| @@ -1806,14 +1826,9 @@ static int wait_for_avail(struct snd_pcm_substream *substream, | |||
| 1806 | err = -EIO; | 1826 | err = -EIO; |
| 1807 | break; | 1827 | break; |
| 1808 | } | 1828 | } |
| 1809 | if (is_playback) | ||
| 1810 | avail = snd_pcm_playback_avail(runtime); | ||
| 1811 | else | ||
| 1812 | avail = snd_pcm_capture_avail(runtime); | ||
| 1813 | if (avail >= runtime->twake) | ||
| 1814 | break; | ||
| 1815 | } | 1829 | } |
| 1816 | _endloop: | 1830 | _endloop: |
| 1831 | set_current_state(TASK_RUNNING); | ||
| 1817 | remove_wait_queue(&runtime->tsleep, &wait); | 1832 | remove_wait_queue(&runtime->tsleep, &wait); |
| 1818 | *availp = avail; | 1833 | *availp = avail; |
| 1819 | return err; | 1834 | return err; |
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index 3e7850c238c3..f3aefef37216 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c | |||
| @@ -579,9 +579,13 @@ int snd_hda_get_conn_index(struct hda_codec *codec, hda_nid_t mux, | |||
| 579 | return -1; | 579 | return -1; |
| 580 | } | 580 | } |
| 581 | recursive++; | 581 | recursive++; |
| 582 | for (i = 0; i < nums; i++) | 582 | for (i = 0; i < nums; i++) { |
| 583 | unsigned int type = get_wcaps_type(get_wcaps(codec, conn[i])); | ||
| 584 | if (type == AC_WID_PIN || type == AC_WID_AUD_OUT) | ||
| 585 | continue; | ||
| 583 | if (snd_hda_get_conn_index(codec, conn[i], nid, recursive) >= 0) | 586 | if (snd_hda_get_conn_index(codec, conn[i], nid, recursive) >= 0) |
| 584 | return i; | 587 | return i; |
| 588 | } | ||
| 585 | return -1; | 589 | return -1; |
| 586 | } | 590 | } |
| 587 | EXPORT_SYMBOL_HDA(snd_hda_get_conn_index); | 591 | EXPORT_SYMBOL_HDA(snd_hda_get_conn_index); |
diff --git a/sound/pci/hda/patch_cirrus.c b/sound/pci/hda/patch_cirrus.c index d6c93d92b550..c45f3e69bcf0 100644 --- a/sound/pci/hda/patch_cirrus.c +++ b/sound/pci/hda/patch_cirrus.c | |||
| @@ -535,7 +535,7 @@ static int add_volume(struct hda_codec *codec, const char *name, | |||
| 535 | int index, unsigned int pval, int dir, | 535 | int index, unsigned int pval, int dir, |
| 536 | struct snd_kcontrol **kctlp) | 536 | struct snd_kcontrol **kctlp) |
| 537 | { | 537 | { |
| 538 | char tmp[32]; | 538 | char tmp[44]; |
| 539 | struct snd_kcontrol_new knew = | 539 | struct snd_kcontrol_new knew = |
| 540 | HDA_CODEC_VOLUME_IDX(tmp, index, 0, 0, HDA_OUTPUT); | 540 | HDA_CODEC_VOLUME_IDX(tmp, index, 0, 0, HDA_OUTPUT); |
| 541 | knew.private_value = pval; | 541 | knew.private_value = pval; |
diff --git a/sound/soc/blackfin/bf5xx-ad193x.c b/sound/soc/blackfin/bf5xx-ad193x.c index a118a0fb9d81..5956584ea3a4 100644 --- a/sound/soc/blackfin/bf5xx-ad193x.c +++ b/sound/soc/blackfin/bf5xx-ad193x.c | |||
| @@ -103,7 +103,7 @@ static struct snd_soc_dai_link bf5xx_ad193x_dai[] = { | |||
| 103 | .cpu_dai_name = "bfin-tdm.0", | 103 | .cpu_dai_name = "bfin-tdm.0", |
| 104 | .codec_dai_name ="ad193x-hifi", | 104 | .codec_dai_name ="ad193x-hifi", |
| 105 | .platform_name = "bfin-tdm-pcm-audio", | 105 | .platform_name = "bfin-tdm-pcm-audio", |
| 106 | .codec_name = "ad193x.5", | 106 | .codec_name = "spi0.5", |
| 107 | .ops = &bf5xx_ad193x_ops, | 107 | .ops = &bf5xx_ad193x_ops, |
| 108 | }, | 108 | }, |
| 109 | { | 109 | { |
| @@ -112,7 +112,7 @@ static struct snd_soc_dai_link bf5xx_ad193x_dai[] = { | |||
| 112 | .cpu_dai_name = "bfin-tdm.1", | 112 | .cpu_dai_name = "bfin-tdm.1", |
| 113 | .codec_dai_name ="ad193x-hifi", | 113 | .codec_dai_name ="ad193x-hifi", |
| 114 | .platform_name = "bfin-tdm-pcm-audio", | 114 | .platform_name = "bfin-tdm-pcm-audio", |
| 115 | .codec_name = "ad193x.5", | 115 | .codec_name = "spi0.5", |
| 116 | .ops = &bf5xx_ad193x_ops, | 116 | .ops = &bf5xx_ad193x_ops, |
| 117 | }, | 117 | }, |
| 118 | }; | 118 | }; |
diff --git a/sound/soc/fsl/mpc5200_dma.c b/sound/soc/fsl/mpc5200_dma.c index fd0dc46afc34..5c6c2457386e 100644 --- a/sound/soc/fsl/mpc5200_dma.c +++ b/sound/soc/fsl/mpc5200_dma.c | |||
| @@ -369,7 +369,7 @@ static struct snd_soc_platform_driver mpc5200_audio_dma_platform = { | |||
| 369 | .pcm_free = &psc_dma_free, | 369 | .pcm_free = &psc_dma_free, |
| 370 | }; | 370 | }; |
| 371 | 371 | ||
| 372 | static int mpc5200_hpcd_probe(struct of_device *op) | 372 | static int mpc5200_hpcd_probe(struct platform_device *op) |
| 373 | { | 373 | { |
| 374 | phys_addr_t fifo; | 374 | phys_addr_t fifo; |
| 375 | struct psc_dma *psc_dma; | 375 | struct psc_dma *psc_dma; |
| @@ -487,7 +487,7 @@ out_unmap: | |||
| 487 | return ret; | 487 | return ret; |
| 488 | } | 488 | } |
| 489 | 489 | ||
| 490 | static int mpc5200_hpcd_remove(struct of_device *op) | 490 | static int mpc5200_hpcd_remove(struct platform_device *op) |
| 491 | { | 491 | { |
| 492 | struct psc_dma *psc_dma = dev_get_drvdata(&op->dev); | 492 | struct psc_dma *psc_dma = dev_get_drvdata(&op->dev); |
| 493 | 493 | ||
| @@ -519,7 +519,7 @@ MODULE_DEVICE_TABLE(of, mpc5200_hpcd_match); | |||
| 519 | static struct platform_driver mpc5200_hpcd_of_driver = { | 519 | static struct platform_driver mpc5200_hpcd_of_driver = { |
| 520 | .probe = mpc5200_hpcd_probe, | 520 | .probe = mpc5200_hpcd_probe, |
| 521 | .remove = mpc5200_hpcd_remove, | 521 | .remove = mpc5200_hpcd_remove, |
| 522 | .dev = { | 522 | .driver = { |
| 523 | .owner = THIS_MODULE, | 523 | .owner = THIS_MODULE, |
| 524 | .name = "mpc5200-pcm-audio", | 524 | .name = "mpc5200-pcm-audio", |
| 525 | .of_match_table = mpc5200_hpcd_match, | 525 | .of_match_table = mpc5200_hpcd_match, |
diff --git a/sound/soc/imx/imx-pcm-fiq.c b/sound/soc/imx/imx-pcm-fiq.c index 309c59e6fb6c..7945625e0e08 100644 --- a/sound/soc/imx/imx-pcm-fiq.c +++ b/sound/soc/imx/imx-pcm-fiq.c | |||
| @@ -240,7 +240,6 @@ static int ssi_irq = 0; | |||
| 240 | 240 | ||
| 241 | static int imx_pcm_fiq_new(struct snd_soc_pcm_runtime *rtd) | 241 | static int imx_pcm_fiq_new(struct snd_soc_pcm_runtime *rtd) |
| 242 | { | 242 | { |
| 243 | struct snd_card *card = rtd->card->snd_card; | ||
| 244 | struct snd_soc_dai *dai = rtd->cpu_dai; | 243 | struct snd_soc_dai *dai = rtd->cpu_dai; |
| 245 | struct snd_pcm *pcm = rtd->pcm; | 244 | struct snd_pcm *pcm = rtd->pcm; |
| 246 | int ret; | 245 | int ret; |
diff --git a/sound/soc/kirkwood/kirkwood-i2s.c b/sound/soc/kirkwood/kirkwood-i2s.c index 8f16cd37c2af..d0bcf3fcea01 100644 --- a/sound/soc/kirkwood/kirkwood-i2s.c +++ b/sound/soc/kirkwood/kirkwood-i2s.c | |||
| @@ -424,7 +424,7 @@ static __devinit int kirkwood_i2s_dev_probe(struct platform_device *pdev) | |||
| 424 | if (!priv->mem) { | 424 | if (!priv->mem) { |
| 425 | dev_err(&pdev->dev, "request_mem_region failed\n"); | 425 | dev_err(&pdev->dev, "request_mem_region failed\n"); |
| 426 | err = -EBUSY; | 426 | err = -EBUSY; |
| 427 | goto error_alloc; | 427 | goto err_alloc; |
| 428 | } | 428 | } |
| 429 | 429 | ||
| 430 | priv->io = ioremap(priv->mem->start, SZ_16K); | 430 | priv->io = ioremap(priv->mem->start, SZ_16K); |
diff --git a/sound/soc/soc-cache.c b/sound/soc/soc-cache.c index d9f8aded51f3..20b7f3b003a3 100644 --- a/sound/soc/soc-cache.c +++ b/sound/soc/soc-cache.c | |||
| @@ -203,14 +203,14 @@ static int snd_soc_rbtree_cache_sync(struct snd_soc_codec *codec) | |||
| 203 | rbnode = rb_entry(node, struct snd_soc_rbtree_node, node); | 203 | rbnode = rb_entry(node, struct snd_soc_rbtree_node, node); |
| 204 | for (i = 0; i < rbnode->blklen; ++i) { | 204 | for (i = 0; i < rbnode->blklen; ++i) { |
| 205 | regtmp = rbnode->base_reg + i; | 205 | regtmp = rbnode->base_reg + i; |
| 206 | WARN_ON(codec->writable_register && | ||
| 207 | codec->writable_register(codec, regtmp)); | ||
| 208 | val = snd_soc_rbtree_get_register(rbnode, i); | 206 | val = snd_soc_rbtree_get_register(rbnode, i); |
| 209 | def = snd_soc_get_cache_val(codec->reg_def_copy, i, | 207 | def = snd_soc_get_cache_val(codec->reg_def_copy, i, |
| 210 | rbnode->word_size); | 208 | rbnode->word_size); |
| 211 | if (val == def) | 209 | if (val == def) |
| 212 | continue; | 210 | continue; |
| 213 | 211 | ||
| 212 | WARN_ON(!snd_soc_codec_writable_register(codec, regtmp)); | ||
| 213 | |||
| 214 | codec->cache_bypass = 1; | 214 | codec->cache_bypass = 1; |
| 215 | ret = snd_soc_write(codec, regtmp, val); | 215 | ret = snd_soc_write(codec, regtmp, val); |
| 216 | codec->cache_bypass = 0; | 216 | codec->cache_bypass = 0; |
| @@ -563,8 +563,7 @@ static int snd_soc_lzo_cache_sync(struct snd_soc_codec *codec) | |||
| 563 | 563 | ||
| 564 | lzo_blocks = codec->reg_cache; | 564 | lzo_blocks = codec->reg_cache; |
| 565 | for_each_set_bit(i, lzo_blocks[0]->sync_bmp, lzo_blocks[0]->sync_bmp_nbits) { | 565 | for_each_set_bit(i, lzo_blocks[0]->sync_bmp, lzo_blocks[0]->sync_bmp_nbits) { |
| 566 | WARN_ON(codec->writable_register && | 566 | WARN_ON(!snd_soc_codec_writable_register(codec, i)); |
| 567 | codec->writable_register(codec, i)); | ||
| 568 | ret = snd_soc_cache_read(codec, i, &val); | 567 | ret = snd_soc_cache_read(codec, i, &val); |
| 569 | if (ret) | 568 | if (ret) |
| 570 | return ret; | 569 | return ret; |
| @@ -823,8 +822,6 @@ static int snd_soc_flat_cache_sync(struct snd_soc_codec *codec) | |||
| 823 | 822 | ||
| 824 | codec_drv = codec->driver; | 823 | codec_drv = codec->driver; |
| 825 | for (i = 0; i < codec_drv->reg_cache_size; ++i) { | 824 | for (i = 0; i < codec_drv->reg_cache_size; ++i) { |
| 826 | WARN_ON(codec->writable_register && | ||
| 827 | codec->writable_register(codec, i)); | ||
| 828 | ret = snd_soc_cache_read(codec, i, &val); | 825 | ret = snd_soc_cache_read(codec, i, &val); |
| 829 | if (ret) | 826 | if (ret) |
| 830 | return ret; | 827 | return ret; |
| @@ -832,6 +829,9 @@ static int snd_soc_flat_cache_sync(struct snd_soc_codec *codec) | |||
| 832 | if (snd_soc_get_cache_val(codec->reg_def_copy, | 829 | if (snd_soc_get_cache_val(codec->reg_def_copy, |
| 833 | i, codec_drv->reg_word_size) == val) | 830 | i, codec_drv->reg_word_size) == val) |
| 834 | continue; | 831 | continue; |
| 832 | |||
| 833 | WARN_ON(!snd_soc_codec_writable_register(codec, i)); | ||
| 834 | |||
| 835 | ret = snd_soc_write(codec, i, val); | 835 | ret = snd_soc_write(codec, i, val); |
| 836 | if (ret) | 836 | if (ret) |
| 837 | return ret; | 837 | return ret; |
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index b085d8e87574..d2ef014af215 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c | |||
| @@ -1633,7 +1633,7 @@ int snd_soc_codec_readable_register(struct snd_soc_codec *codec, | |||
| 1633 | if (codec->readable_register) | 1633 | if (codec->readable_register) |
| 1634 | return codec->readable_register(codec, reg); | 1634 | return codec->readable_register(codec, reg); |
| 1635 | else | 1635 | else |
| 1636 | return 0; | 1636 | return 1; |
| 1637 | } | 1637 | } |
| 1638 | EXPORT_SYMBOL_GPL(snd_soc_codec_readable_register); | 1638 | EXPORT_SYMBOL_GPL(snd_soc_codec_readable_register); |
| 1639 | 1639 | ||
| @@ -1651,7 +1651,7 @@ int snd_soc_codec_writable_register(struct snd_soc_codec *codec, | |||
| 1651 | if (codec->writable_register) | 1651 | if (codec->writable_register) |
| 1652 | return codec->writable_register(codec, reg); | 1652 | return codec->writable_register(codec, reg); |
| 1653 | else | 1653 | else |
| 1654 | return 0; | 1654 | return 1; |
| 1655 | } | 1655 | } |
| 1656 | EXPORT_SYMBOL_GPL(snd_soc_codec_writable_register); | 1656 | EXPORT_SYMBOL_GPL(snd_soc_codec_writable_register); |
| 1657 | 1657 | ||
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index 7e15914b3633..d67c637557a7 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c | |||
| @@ -2763,7 +2763,7 @@ EXPORT_SYMBOL_GPL(snd_soc_dapm_ignore_suspend); | |||
| 2763 | 2763 | ||
| 2764 | /** | 2764 | /** |
| 2765 | * snd_soc_dapm_free - free dapm resources | 2765 | * snd_soc_dapm_free - free dapm resources |
| 2766 | * @card: SoC device | 2766 | * @dapm: DAPM context |
| 2767 | * | 2767 | * |
| 2768 | * Free all dapm widgets and resources. | 2768 | * Free all dapm widgets and resources. |
| 2769 | */ | 2769 | */ |
diff --git a/sound/soc/soc-jack.c b/sound/soc/soc-jack.c index 38b00131b2fe..fa31d9c2abd8 100644 --- a/sound/soc/soc-jack.c +++ b/sound/soc/soc-jack.c | |||
| @@ -105,7 +105,7 @@ void snd_soc_jack_report(struct snd_soc_jack *jack, int status, int mask) | |||
| 105 | 105 | ||
| 106 | snd_soc_dapm_sync(dapm); | 106 | snd_soc_dapm_sync(dapm); |
| 107 | 107 | ||
| 108 | snd_jack_report(jack->jack, status); | 108 | snd_jack_report(jack->jack, jack->status); |
| 109 | 109 | ||
| 110 | out: | 110 | out: |
| 111 | mutex_unlock(&codec->mutex); | 111 | mutex_unlock(&codec->mutex); |
