diff options
| -rw-r--r-- | include/sound/pcm.h | 3 | ||||
| -rw-r--r-- | sound/arm/pxa2xx-ac97.c | 4 | ||||
| -rw-r--r-- | sound/atmel/abdac.c | 3 | ||||
| -rw-r--r-- | sound/atmel/ac97c.c | 14 | ||||
| -rw-r--r-- | sound/drivers/aloop.c | 2 | ||||
| -rw-r--r-- | sound/drivers/dummy.c | 2 | ||||
| -rw-r--r-- | sound/drivers/pcsp/pcsp.c | 4 | ||||
| -rw-r--r-- | sound/oss/sb_audio.c | 4 | ||||
| -rw-r--r-- | sound/pci/cs46xx/cs46xx_lib.c | 2 | ||||
| -rw-r--r-- | sound/pci/ctxfi/ctatc.c | 4 | ||||
| -rw-r--r-- | sound/pci/hda/hda_beep.c | 29 | ||||
| -rw-r--r-- | sound/pci/hda/hda_codec.c | 2 | ||||
| -rw-r--r-- | sound/pci/hda/hda_intel.c | 9 | ||||
| -rw-r--r-- | sound/pci/hda/hda_proc.c | 2 | ||||
| -rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 9 | ||||
| -rw-r--r-- | sound/pci/hda/patch_via.c | 8 | ||||
| -rw-r--r-- | sound/pci/lx6464es/lx6464es.c | 2 | ||||
| -rw-r--r-- | sound/pci/rme9652/hdspm.c | 2 | ||||
| -rw-r--r-- | sound/pci/sis7019.c | 5 | ||||
| -rw-r--r-- | sound/ppc/powermac.c | 2 | ||||
| -rw-r--r-- | sound/ppc/snd_ps3.c | 1 | ||||
| -rw-r--r-- | sound/usb/endpoint.c | 4 | ||||
| -rw-r--r-- | sound/usb/pcm.c | 3 |
23 files changed, 80 insertions, 40 deletions
diff --git a/include/sound/pcm.h b/include/sound/pcm.h index c75c0d1a85e2..cdca2ab1e711 100644 --- a/include/sound/pcm.h +++ b/include/sound/pcm.h | |||
| @@ -1075,7 +1075,8 @@ static inline void snd_pcm_limit_isa_dma_size(int dma, size_t *max) | |||
| 1075 | const char *snd_pcm_format_name(snd_pcm_format_t format); | 1075 | const char *snd_pcm_format_name(snd_pcm_format_t format); |
| 1076 | 1076 | ||
| 1077 | /** | 1077 | /** |
| 1078 | * Get a string naming the direction of a stream | 1078 | * snd_pcm_stream_str - Get a string naming the direction of a stream |
| 1079 | * @substream: the pcm substream instance | ||
| 1079 | */ | 1080 | */ |
| 1080 | static inline const char *snd_pcm_stream_str(struct snd_pcm_substream *substream) | 1081 | static inline const char *snd_pcm_stream_str(struct snd_pcm_substream *substream) |
| 1081 | { | 1082 | { |
diff --git a/sound/arm/pxa2xx-ac97.c b/sound/arm/pxa2xx-ac97.c index 0d7b25e81643..4e1fda75c1c9 100644 --- a/sound/arm/pxa2xx-ac97.c +++ b/sound/arm/pxa2xx-ac97.c | |||
| @@ -106,7 +106,7 @@ static struct pxa2xx_pcm_client pxa2xx_ac97_pcm_client = { | |||
| 106 | .prepare = pxa2xx_ac97_pcm_prepare, | 106 | .prepare = pxa2xx_ac97_pcm_prepare, |
| 107 | }; | 107 | }; |
| 108 | 108 | ||
| 109 | #ifdef CONFIG_PM | 109 | #ifdef CONFIG_PM_SLEEP |
| 110 | 110 | ||
| 111 | static int pxa2xx_ac97_do_suspend(struct snd_card *card) | 111 | static int pxa2xx_ac97_do_suspend(struct snd_card *card) |
| 112 | { | 112 | { |
| @@ -243,7 +243,7 @@ static struct platform_driver pxa2xx_ac97_driver = { | |||
| 243 | .driver = { | 243 | .driver = { |
| 244 | .name = "pxa2xx-ac97", | 244 | .name = "pxa2xx-ac97", |
| 245 | .owner = THIS_MODULE, | 245 | .owner = THIS_MODULE, |
| 246 | #ifdef CONFIG_PM | 246 | #ifdef CONFIG_PM_SLEEP |
| 247 | .pm = &pxa2xx_ac97_pm_ops, | 247 | .pm = &pxa2xx_ac97_pm_ops, |
| 248 | #endif | 248 | #endif |
| 249 | }, | 249 | }, |
diff --git a/sound/atmel/abdac.c b/sound/atmel/abdac.c index eb4ceb71123e..277ebce23a45 100644 --- a/sound/atmel/abdac.c +++ b/sound/atmel/abdac.c | |||
| @@ -452,6 +452,7 @@ static int __devinit atmel_abdac_probe(struct platform_device *pdev) | |||
| 452 | dac->regs = ioremap(regs->start, resource_size(regs)); | 452 | dac->regs = ioremap(regs->start, resource_size(regs)); |
| 453 | if (!dac->regs) { | 453 | if (!dac->regs) { |
| 454 | dev_dbg(&pdev->dev, "could not remap register memory\n"); | 454 | dev_dbg(&pdev->dev, "could not remap register memory\n"); |
| 455 | retval = -ENOMEM; | ||
| 455 | goto out_free_card; | 456 | goto out_free_card; |
| 456 | } | 457 | } |
| 457 | 458 | ||
| @@ -534,7 +535,7 @@ out_put_pclk: | |||
| 534 | return retval; | 535 | return retval; |
| 535 | } | 536 | } |
| 536 | 537 | ||
| 537 | #ifdef CONFIG_PM | 538 | #ifdef CONFIG_PM_SLEEP |
| 538 | static int atmel_abdac_suspend(struct device *pdev) | 539 | static int atmel_abdac_suspend(struct device *pdev) |
| 539 | { | 540 | { |
| 540 | struct snd_card *card = dev_get_drvdata(pdev); | 541 | struct snd_card *card = dev_get_drvdata(pdev); |
diff --git a/sound/atmel/ac97c.c b/sound/atmel/ac97c.c index bf47025bdf45..9052aff37f64 100644 --- a/sound/atmel/ac97c.c +++ b/sound/atmel/ac97c.c | |||
| @@ -278,14 +278,9 @@ static int atmel_ac97c_capture_hw_params(struct snd_pcm_substream *substream, | |||
| 278 | if (retval < 0) | 278 | if (retval < 0) |
| 279 | return retval; | 279 | return retval; |
| 280 | /* snd_pcm_lib_malloc_pages returns 1 if buffer is changed. */ | 280 | /* snd_pcm_lib_malloc_pages returns 1 if buffer is changed. */ |
| 281 | if (cpu_is_at32ap7000()) { | 281 | if (cpu_is_at32ap7000() && retval == 1) |
| 282 | if (retval < 0) | 282 | if (test_and_clear_bit(DMA_RX_READY, &chip->flags)) |
| 283 | return retval; | 283 | dw_dma_cyclic_free(chip->dma.rx_chan); |
| 284 | /* snd_pcm_lib_malloc_pages returns 1 if buffer is changed. */ | ||
| 285 | if (retval == 1) | ||
| 286 | if (test_and_clear_bit(DMA_RX_READY, &chip->flags)) | ||
| 287 | dw_dma_cyclic_free(chip->dma.rx_chan); | ||
| 288 | } | ||
| 289 | 284 | ||
| 290 | /* Set restrictions to params. */ | 285 | /* Set restrictions to params. */ |
| 291 | mutex_lock(&opened_mutex); | 286 | mutex_lock(&opened_mutex); |
| @@ -980,6 +975,7 @@ static int __devinit atmel_ac97c_probe(struct platform_device *pdev) | |||
| 980 | 975 | ||
| 981 | if (!chip->regs) { | 976 | if (!chip->regs) { |
| 982 | dev_dbg(&pdev->dev, "could not remap register memory\n"); | 977 | dev_dbg(&pdev->dev, "could not remap register memory\n"); |
| 978 | retval = -ENOMEM; | ||
| 983 | goto err_ioremap; | 979 | goto err_ioremap; |
| 984 | } | 980 | } |
| 985 | 981 | ||
| @@ -1134,7 +1130,7 @@ err_snd_card_new: | |||
| 1134 | return retval; | 1130 | return retval; |
| 1135 | } | 1131 | } |
| 1136 | 1132 | ||
| 1137 | #ifdef CONFIG_PM | 1133 | #ifdef CONFIG_PM_SLEEP |
| 1138 | static int atmel_ac97c_suspend(struct device *pdev) | 1134 | static int atmel_ac97c_suspend(struct device *pdev) |
| 1139 | { | 1135 | { |
| 1140 | struct snd_card *card = dev_get_drvdata(pdev); | 1136 | struct snd_card *card = dev_get_drvdata(pdev); |
diff --git a/sound/drivers/aloop.c b/sound/drivers/aloop.c index 1128b35b2b05..5a34355e78e8 100644 --- a/sound/drivers/aloop.c +++ b/sound/drivers/aloop.c | |||
| @@ -1176,7 +1176,7 @@ static int __devexit loopback_remove(struct platform_device *devptr) | |||
| 1176 | return 0; | 1176 | return 0; |
| 1177 | } | 1177 | } |
| 1178 | 1178 | ||
| 1179 | #ifdef CONFIG_PM | 1179 | #ifdef CONFIG_PM_SLEEP |
| 1180 | static int loopback_suspend(struct device *pdev) | 1180 | static int loopback_suspend(struct device *pdev) |
| 1181 | { | 1181 | { |
| 1182 | struct snd_card *card = dev_get_drvdata(pdev); | 1182 | struct snd_card *card = dev_get_drvdata(pdev); |
diff --git a/sound/drivers/dummy.c b/sound/drivers/dummy.c index f7d3bfc6bca8..54bb6644a598 100644 --- a/sound/drivers/dummy.c +++ b/sound/drivers/dummy.c | |||
| @@ -1064,7 +1064,7 @@ static int __devexit snd_dummy_remove(struct platform_device *devptr) | |||
| 1064 | return 0; | 1064 | return 0; |
| 1065 | } | 1065 | } |
| 1066 | 1066 | ||
| 1067 | #ifdef CONFIG_PM | 1067 | #ifdef CONFIG_PM_SLEEP |
| 1068 | static int snd_dummy_suspend(struct device *pdev) | 1068 | static int snd_dummy_suspend(struct device *pdev) |
| 1069 | { | 1069 | { |
| 1070 | struct snd_card *card = dev_get_drvdata(pdev); | 1070 | struct snd_card *card = dev_get_drvdata(pdev); |
diff --git a/sound/drivers/pcsp/pcsp.c b/sound/drivers/pcsp/pcsp.c index 6ca59fc6dcb9..ef171295f6d4 100644 --- a/sound/drivers/pcsp/pcsp.c +++ b/sound/drivers/pcsp/pcsp.c | |||
| @@ -199,7 +199,7 @@ static void pcsp_stop_beep(struct snd_pcsp *chip) | |||
| 199 | pcspkr_stop_sound(); | 199 | pcspkr_stop_sound(); |
| 200 | } | 200 | } |
| 201 | 201 | ||
| 202 | #ifdef CONFIG_PM | 202 | #ifdef CONFIG_PM_SLEEP |
| 203 | static int pcsp_suspend(struct device *dev) | 203 | static int pcsp_suspend(struct device *dev) |
| 204 | { | 204 | { |
| 205 | struct snd_pcsp *chip = dev_get_drvdata(dev); | 205 | struct snd_pcsp *chip = dev_get_drvdata(dev); |
| @@ -212,7 +212,7 @@ static SIMPLE_DEV_PM_OPS(pcsp_pm, pcsp_suspend, NULL); | |||
| 212 | #define PCSP_PM_OPS &pcsp_pm | 212 | #define PCSP_PM_OPS &pcsp_pm |
| 213 | #else | 213 | #else |
| 214 | #define PCSP_PM_OPS NULL | 214 | #define PCSP_PM_OPS NULL |
| 215 | #endif /* CONFIG_PM */ | 215 | #endif /* CONFIG_PM_SLEEP */ |
| 216 | 216 | ||
| 217 | static void pcsp_shutdown(struct platform_device *dev) | 217 | static void pcsp_shutdown(struct platform_device *dev) |
| 218 | { | 218 | { |
diff --git a/sound/oss/sb_audio.c b/sound/oss/sb_audio.c index 733b014ec7d1..b2b3c014221a 100644 --- a/sound/oss/sb_audio.c +++ b/sound/oss/sb_audio.c | |||
| @@ -575,13 +575,15 @@ static int jazz16_audio_set_speed(int dev, int speed) | |||
| 575 | if (speed > 0) | 575 | if (speed > 0) |
| 576 | { | 576 | { |
| 577 | int tmp; | 577 | int tmp; |
| 578 | int s = speed * devc->channels; | 578 | int s; |
| 579 | 579 | ||
| 580 | if (speed < 5000) | 580 | if (speed < 5000) |
| 581 | speed = 5000; | 581 | speed = 5000; |
| 582 | if (speed > 44100) | 582 | if (speed > 44100) |
| 583 | speed = 44100; | 583 | speed = 44100; |
| 584 | 584 | ||
| 585 | s = speed * devc->channels; | ||
| 586 | |||
| 585 | devc->tconst = (256 - ((1000000 + s / 2) / s)) & 0xff; | 587 | devc->tconst = (256 - ((1000000 + s / 2) / s)) & 0xff; |
| 586 | 588 | ||
| 587 | tmp = 256 - devc->tconst; | 589 | tmp = 256 - devc->tconst; |
diff --git a/sound/pci/cs46xx/cs46xx_lib.c b/sound/pci/cs46xx/cs46xx_lib.c index f75f5ffdfdfb..a71d1c14a0f6 100644 --- a/sound/pci/cs46xx/cs46xx_lib.c +++ b/sound/pci/cs46xx/cs46xx_lib.c | |||
| @@ -94,7 +94,7 @@ static unsigned short snd_cs46xx_codec_read(struct snd_cs46xx *chip, | |||
| 94 | 94 | ||
| 95 | if (snd_BUG_ON(codec_index != CS46XX_PRIMARY_CODEC_INDEX && | 95 | if (snd_BUG_ON(codec_index != CS46XX_PRIMARY_CODEC_INDEX && |
| 96 | codec_index != CS46XX_SECONDARY_CODEC_INDEX)) | 96 | codec_index != CS46XX_SECONDARY_CODEC_INDEX)) |
| 97 | return -EINVAL; | 97 | return 0xffff; |
| 98 | 98 | ||
| 99 | chip->active_ctrl(chip, 1); | 99 | chip->active_ctrl(chip, 1); |
| 100 | 100 | ||
diff --git a/sound/pci/ctxfi/ctatc.c b/sound/pci/ctxfi/ctatc.c index 8e40262d4117..2f6e9c762d3f 100644 --- a/sound/pci/ctxfi/ctatc.c +++ b/sound/pci/ctxfi/ctatc.c | |||
| @@ -1725,8 +1725,10 @@ int __devinit ct_atc_create(struct snd_card *card, struct pci_dev *pci, | |||
| 1725 | atc_connect_resources(atc); | 1725 | atc_connect_resources(atc); |
| 1726 | 1726 | ||
| 1727 | atc->timer = ct_timer_new(atc); | 1727 | atc->timer = ct_timer_new(atc); |
| 1728 | if (!atc->timer) | 1728 | if (!atc->timer) { |
| 1729 | err = -ENOMEM; | ||
| 1729 | goto error1; | 1730 | goto error1; |
| 1731 | } | ||
| 1730 | 1732 | ||
| 1731 | err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, atc, &ops); | 1733 | err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, atc, &ops); |
| 1732 | if (err < 0) | 1734 | if (err < 0) |
diff --git a/sound/pci/hda/hda_beep.c b/sound/pci/hda/hda_beep.c index 0bc2315b181d..0849aac449f2 100644 --- a/sound/pci/hda/hda_beep.c +++ b/sound/pci/hda/hda_beep.c | |||
| @@ -231,16 +231,22 @@ void snd_hda_detach_beep_device(struct hda_codec *codec) | |||
| 231 | } | 231 | } |
| 232 | EXPORT_SYMBOL_HDA(snd_hda_detach_beep_device); | 232 | EXPORT_SYMBOL_HDA(snd_hda_detach_beep_device); |
| 233 | 233 | ||
| 234 | static bool ctl_has_mute(struct snd_kcontrol *kcontrol) | ||
| 235 | { | ||
| 236 | struct hda_codec *codec = snd_kcontrol_chip(kcontrol); | ||
| 237 | return query_amp_caps(codec, get_amp_nid(kcontrol), | ||
| 238 | get_amp_direction(kcontrol)) & AC_AMPCAP_MUTE; | ||
| 239 | } | ||
| 240 | |||
| 234 | /* get/put callbacks for beep mute mixer switches */ | 241 | /* get/put callbacks for beep mute mixer switches */ |
| 235 | int snd_hda_mixer_amp_switch_get_beep(struct snd_kcontrol *kcontrol, | 242 | int snd_hda_mixer_amp_switch_get_beep(struct snd_kcontrol *kcontrol, |
| 236 | struct snd_ctl_elem_value *ucontrol) | 243 | struct snd_ctl_elem_value *ucontrol) |
| 237 | { | 244 | { |
| 238 | struct hda_codec *codec = snd_kcontrol_chip(kcontrol); | 245 | struct hda_codec *codec = snd_kcontrol_chip(kcontrol); |
| 239 | struct hda_beep *beep = codec->beep; | 246 | struct hda_beep *beep = codec->beep; |
| 240 | if (beep) { | 247 | if (beep && (!beep->enabled || !ctl_has_mute(kcontrol))) { |
| 241 | ucontrol->value.integer.value[0] = | 248 | ucontrol->value.integer.value[0] = |
| 242 | ucontrol->value.integer.value[1] = | 249 | ucontrol->value.integer.value[1] = beep->enabled; |
| 243 | beep->enabled; | ||
| 244 | return 0; | 250 | return 0; |
| 245 | } | 251 | } |
| 246 | return snd_hda_mixer_amp_switch_get(kcontrol, ucontrol); | 252 | return snd_hda_mixer_amp_switch_get(kcontrol, ucontrol); |
| @@ -252,9 +258,20 @@ int snd_hda_mixer_amp_switch_put_beep(struct snd_kcontrol *kcontrol, | |||
| 252 | { | 258 | { |
| 253 | struct hda_codec *codec = snd_kcontrol_chip(kcontrol); | 259 | struct hda_codec *codec = snd_kcontrol_chip(kcontrol); |
| 254 | struct hda_beep *beep = codec->beep; | 260 | struct hda_beep *beep = codec->beep; |
| 255 | if (beep) | 261 | if (beep) { |
| 256 | snd_hda_enable_beep_device(codec, | 262 | u8 chs = get_amp_channels(kcontrol); |
| 257 | *ucontrol->value.integer.value); | 263 | int enable = 0; |
| 264 | long *valp = ucontrol->value.integer.value; | ||
| 265 | if (chs & 1) { | ||
| 266 | enable |= *valp; | ||
| 267 | valp++; | ||
| 268 | } | ||
| 269 | if (chs & 2) | ||
| 270 | enable |= *valp; | ||
| 271 | snd_hda_enable_beep_device(codec, enable); | ||
| 272 | } | ||
| 273 | if (!ctl_has_mute(kcontrol)) | ||
| 274 | return 0; | ||
| 258 | return snd_hda_mixer_amp_switch_put(kcontrol, ucontrol); | 275 | return snd_hda_mixer_amp_switch_put(kcontrol, ucontrol); |
| 259 | } | 276 | } |
| 260 | EXPORT_SYMBOL_HDA(snd_hda_mixer_amp_switch_put_beep); | 277 | EXPORT_SYMBOL_HDA(snd_hda_mixer_amp_switch_put_beep); |
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index 598b9e2d85e6..c3077d5dec6e 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c | |||
| @@ -3518,7 +3518,7 @@ static bool snd_hda_codec_get_supported_ps(struct hda_codec *codec, hda_nid_t fg | |||
| 3518 | { | 3518 | { |
| 3519 | int sup = snd_hda_param_read(codec, fg, AC_PAR_POWER_STATE); | 3519 | int sup = snd_hda_param_read(codec, fg, AC_PAR_POWER_STATE); |
| 3520 | 3520 | ||
| 3521 | if (sup < 0) | 3521 | if (sup == -1) |
| 3522 | return false; | 3522 | return false; |
| 3523 | if (sup & power_state) | 3523 | if (sup & power_state) |
| 3524 | return true; | 3524 | return true; |
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index c8aced182fd1..60882c62f180 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c | |||
| @@ -151,6 +151,7 @@ MODULE_SUPPORTED_DEVICE("{{Intel, ICH6}," | |||
| 151 | "{Intel, CPT}," | 151 | "{Intel, CPT}," |
| 152 | "{Intel, PPT}," | 152 | "{Intel, PPT}," |
| 153 | "{Intel, LPT}," | 153 | "{Intel, LPT}," |
| 154 | "{Intel, LPT_LP}," | ||
| 154 | "{Intel, HPT}," | 155 | "{Intel, HPT}," |
| 155 | "{Intel, PBG}," | 156 | "{Intel, PBG}," |
| 156 | "{Intel, SCH}," | 157 | "{Intel, SCH}," |
| @@ -3270,6 +3271,14 @@ static DEFINE_PCI_DEVICE_TABLE(azx_ids) = { | |||
| 3270 | { PCI_DEVICE(0x8086, 0x8c20), | 3271 | { PCI_DEVICE(0x8086, 0x8c20), |
| 3271 | .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP | | 3272 | .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP | |
| 3272 | AZX_DCAPS_BUFSIZE | AZX_DCAPS_POSFIX_COMBO }, | 3273 | AZX_DCAPS_BUFSIZE | AZX_DCAPS_POSFIX_COMBO }, |
| 3274 | /* Lynx Point-LP */ | ||
| 3275 | { PCI_DEVICE(0x8086, 0x9c20), | ||
| 3276 | .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP | | ||
| 3277 | AZX_DCAPS_BUFSIZE | AZX_DCAPS_POSFIX_COMBO }, | ||
| 3278 | /* Lynx Point-LP */ | ||
| 3279 | { PCI_DEVICE(0x8086, 0x9c21), | ||
| 3280 | .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP | | ||
| 3281 | AZX_DCAPS_BUFSIZE | AZX_DCAPS_POSFIX_COMBO }, | ||
| 3273 | /* Haswell */ | 3282 | /* Haswell */ |
| 3274 | { PCI_DEVICE(0x8086, 0x0c0c), | 3283 | { PCI_DEVICE(0x8086, 0x0c0c), |
| 3275 | .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP | | 3284 | .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP | |
diff --git a/sound/pci/hda/hda_proc.c b/sound/pci/hda/hda_proc.c index 7e46258fc700..6894ec66258c 100644 --- a/sound/pci/hda/hda_proc.c +++ b/sound/pci/hda/hda_proc.c | |||
| @@ -412,7 +412,7 @@ static void print_digital_conv(struct snd_info_buffer *buffer, | |||
| 412 | if (digi1 & AC_DIG1_EMPHASIS) | 412 | if (digi1 & AC_DIG1_EMPHASIS) |
| 413 | snd_iprintf(buffer, " Preemphasis"); | 413 | snd_iprintf(buffer, " Preemphasis"); |
| 414 | if (digi1 & AC_DIG1_COPYRIGHT) | 414 | if (digi1 & AC_DIG1_COPYRIGHT) |
| 415 | snd_iprintf(buffer, " Copyright"); | 415 | snd_iprintf(buffer, " Non-Copyright"); |
| 416 | if (digi1 & AC_DIG1_NONAUDIO) | 416 | if (digi1 & AC_DIG1_NONAUDIO) |
| 417 | snd_iprintf(buffer, " Non-Audio"); | 417 | snd_iprintf(buffer, " Non-Audio"); |
| 418 | if (digi1 & AC_DIG1_PROFESSIONAL) | 418 | if (digi1 & AC_DIG1_PROFESSIONAL) |
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 94040ccf8e8f..ea5775a1a7db 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
| @@ -4272,7 +4272,8 @@ static int stac92xx_init(struct hda_codec *codec) | |||
| 4272 | unsigned int gpio; | 4272 | unsigned int gpio; |
| 4273 | int i; | 4273 | int i; |
| 4274 | 4274 | ||
| 4275 | snd_hda_sequence_write(codec, spec->init); | 4275 | if (spec->init) |
| 4276 | snd_hda_sequence_write(codec, spec->init); | ||
| 4276 | 4277 | ||
| 4277 | /* power down adcs initially */ | 4278 | /* power down adcs initially */ |
| 4278 | if (spec->powerdown_adcs) | 4279 | if (spec->powerdown_adcs) |
| @@ -5748,7 +5749,6 @@ again: | |||
| 5748 | /* fallthru */ | 5749 | /* fallthru */ |
| 5749 | case 0x111d76b4: /* 6 Port without Analog Mixer */ | 5750 | case 0x111d76b4: /* 6 Port without Analog Mixer */ |
| 5750 | case 0x111d76b5: | 5751 | case 0x111d76b5: |
| 5751 | spec->init = stac92hd71bxx_core_init; | ||
| 5752 | codec->slave_dig_outs = stac92hd71bxx_slave_dig_outs; | 5752 | codec->slave_dig_outs = stac92hd71bxx_slave_dig_outs; |
| 5753 | spec->num_dmics = stac92xx_connected_ports(codec, | 5753 | spec->num_dmics = stac92xx_connected_ports(codec, |
| 5754 | stac92hd71bxx_dmic_nids, | 5754 | stac92hd71bxx_dmic_nids, |
| @@ -5773,7 +5773,6 @@ again: | |||
| 5773 | spec->stream_delay = 40; /* 40 milliseconds */ | 5773 | spec->stream_delay = 40; /* 40 milliseconds */ |
| 5774 | 5774 | ||
| 5775 | /* disable VSW */ | 5775 | /* disable VSW */ |
| 5776 | spec->init = stac92hd71bxx_core_init; | ||
| 5777 | unmute_init++; | 5776 | unmute_init++; |
| 5778 | snd_hda_codec_set_pincfg(codec, 0x0f, 0x40f000f0); | 5777 | snd_hda_codec_set_pincfg(codec, 0x0f, 0x40f000f0); |
| 5779 | snd_hda_codec_set_pincfg(codec, 0x19, 0x40f000f3); | 5778 | snd_hda_codec_set_pincfg(codec, 0x19, 0x40f000f3); |
| @@ -5788,7 +5787,6 @@ again: | |||
| 5788 | 5787 | ||
| 5789 | /* fallthru */ | 5788 | /* fallthru */ |
| 5790 | default: | 5789 | default: |
| 5791 | spec->init = stac92hd71bxx_core_init; | ||
| 5792 | codec->slave_dig_outs = stac92hd71bxx_slave_dig_outs; | 5790 | codec->slave_dig_outs = stac92hd71bxx_slave_dig_outs; |
| 5793 | spec->num_dmics = stac92xx_connected_ports(codec, | 5791 | spec->num_dmics = stac92xx_connected_ports(codec, |
| 5794 | stac92hd71bxx_dmic_nids, | 5792 | stac92hd71bxx_dmic_nids, |
| @@ -5796,6 +5794,9 @@ again: | |||
| 5796 | break; | 5794 | break; |
| 5797 | } | 5795 | } |
| 5798 | 5796 | ||
| 5797 | if (get_wcaps_type(get_wcaps(codec, 0x28)) == AC_WID_VOL_KNB) | ||
| 5798 | spec->init = stac92hd71bxx_core_init; | ||
| 5799 | |||
| 5799 | if (get_wcaps(codec, 0xa) & AC_WCAP_IN_AMP) | 5800 | if (get_wcaps(codec, 0xa) & AC_WCAP_IN_AMP) |
| 5800 | snd_hda_sequence_write_cache(codec, unmute_init); | 5801 | snd_hda_sequence_write_cache(codec, unmute_init); |
| 5801 | 5802 | ||
diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c index 80d90cb42853..430771776915 100644 --- a/sound/pci/hda/patch_via.c +++ b/sound/pci/hda/patch_via.c | |||
| @@ -1752,6 +1752,14 @@ static int via_suspend(struct hda_codec *codec) | |||
| 1752 | { | 1752 | { |
| 1753 | struct via_spec *spec = codec->spec; | 1753 | struct via_spec *spec = codec->spec; |
| 1754 | vt1708_stop_hp_work(spec); | 1754 | vt1708_stop_hp_work(spec); |
| 1755 | |||
| 1756 | if (spec->codec_type == VT1802) { | ||
| 1757 | /* Fix pop noise on headphones */ | ||
| 1758 | int i; | ||
| 1759 | for (i = 0; i < spec->autocfg.hp_outs; i++) | ||
| 1760 | snd_hda_set_pin_ctl(codec, spec->autocfg.hp_pins[i], 0); | ||
| 1761 | } | ||
| 1762 | |||
| 1755 | return 0; | 1763 | return 0; |
| 1756 | } | 1764 | } |
| 1757 | #endif | 1765 | #endif |
diff --git a/sound/pci/lx6464es/lx6464es.c b/sound/pci/lx6464es/lx6464es.c index d1ab43706735..5579b08bb35b 100644 --- a/sound/pci/lx6464es/lx6464es.c +++ b/sound/pci/lx6464es/lx6464es.c | |||
| @@ -851,6 +851,8 @@ static int __devinit lx_pcm_create(struct lx6464es *chip) | |||
| 851 | /* hardcoded device name & channel count */ | 851 | /* hardcoded device name & channel count */ |
| 852 | err = snd_pcm_new(chip->card, (char *)card_name, 0, | 852 | err = snd_pcm_new(chip->card, (char *)card_name, 0, |
| 853 | 1, 1, &pcm); | 853 | 1, 1, &pcm); |
| 854 | if (err < 0) | ||
| 855 | return err; | ||
| 854 | 856 | ||
| 855 | pcm->private_data = chip; | 857 | pcm->private_data = chip; |
| 856 | 858 | ||
diff --git a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c index b8ac8710f47f..b12308b5ba2a 100644 --- a/sound/pci/rme9652/hdspm.c +++ b/sound/pci/rme9652/hdspm.c | |||
| @@ -6585,7 +6585,7 @@ static int __devinit snd_hdspm_create(struct snd_card *card, | |||
| 6585 | snd_printk(KERN_ERR "HDSPM: " | 6585 | snd_printk(KERN_ERR "HDSPM: " |
| 6586 | "unable to kmalloc Mixer memory of %d Bytes\n", | 6586 | "unable to kmalloc Mixer memory of %d Bytes\n", |
| 6587 | (int)sizeof(struct hdspm_mixer)); | 6587 | (int)sizeof(struct hdspm_mixer)); |
| 6588 | return err; | 6588 | return -ENOMEM; |
| 6589 | } | 6589 | } |
| 6590 | 6590 | ||
| 6591 | hdspm->port_names_in = NULL; | 6591 | hdspm->port_names_in = NULL; |
diff --git a/sound/pci/sis7019.c b/sound/pci/sis7019.c index 512434efcc31..805ab6e9a78f 100644 --- a/sound/pci/sis7019.c +++ b/sound/pci/sis7019.c | |||
| @@ -1377,8 +1377,9 @@ static int __devinit sis_chip_create(struct snd_card *card, | |||
| 1377 | if (rc) | 1377 | if (rc) |
| 1378 | goto error_out_cleanup; | 1378 | goto error_out_cleanup; |
| 1379 | 1379 | ||
| 1380 | if (request_irq(pci->irq, sis_interrupt, IRQF_SHARED, KBUILD_MODNAME, | 1380 | rc = request_irq(pci->irq, sis_interrupt, IRQF_SHARED, KBUILD_MODNAME, |
| 1381 | sis)) { | 1381 | sis); |
| 1382 | if (rc) { | ||
| 1382 | dev_err(&pci->dev, "unable to allocate irq %d\n", sis->irq); | 1383 | dev_err(&pci->dev, "unable to allocate irq %d\n", sis->irq); |
| 1383 | goto error_out_cleanup; | 1384 | goto error_out_cleanup; |
| 1384 | } | 1385 | } |
diff --git a/sound/ppc/powermac.c b/sound/ppc/powermac.c index f5ceb6f282de..210cafe04890 100644 --- a/sound/ppc/powermac.c +++ b/sound/ppc/powermac.c | |||
| @@ -143,7 +143,7 @@ static int __devexit snd_pmac_remove(struct platform_device *devptr) | |||
| 143 | return 0; | 143 | return 0; |
| 144 | } | 144 | } |
| 145 | 145 | ||
| 146 | #ifdef CONFIG_PM | 146 | #ifdef CONFIG_PM_SLEEP |
| 147 | static int snd_pmac_driver_suspend(struct device *dev) | 147 | static int snd_pmac_driver_suspend(struct device *dev) |
| 148 | { | 148 | { |
| 149 | struct snd_card *card = dev_get_drvdata(dev); | 149 | struct snd_card *card = dev_get_drvdata(dev); |
diff --git a/sound/ppc/snd_ps3.c b/sound/ppc/snd_ps3.c index 1aa52eff526a..9b18b5243a56 100644 --- a/sound/ppc/snd_ps3.c +++ b/sound/ppc/snd_ps3.c | |||
| @@ -1040,6 +1040,7 @@ static int __devinit snd_ps3_driver_probe(struct ps3_system_bus_device *dev) | |||
| 1040 | GFP_KERNEL); | 1040 | GFP_KERNEL); |
| 1041 | if (!the_card.null_buffer_start_vaddr) { | 1041 | if (!the_card.null_buffer_start_vaddr) { |
| 1042 | pr_info("%s: nullbuffer alloc failed\n", __func__); | 1042 | pr_info("%s: nullbuffer alloc failed\n", __func__); |
| 1043 | ret = -ENOMEM; | ||
| 1043 | goto clean_preallocate; | 1044 | goto clean_preallocate; |
| 1044 | } | 1045 | } |
| 1045 | pr_debug("%s: null vaddr=%p dma=%#llx\n", __func__, | 1046 | pr_debug("%s: null vaddr=%p dma=%#llx\n", __func__, |
diff --git a/sound/usb/endpoint.c b/sound/usb/endpoint.c index 0f647d22cb4a..c41181202688 100644 --- a/sound/usb/endpoint.c +++ b/sound/usb/endpoint.c | |||
| @@ -821,10 +821,6 @@ int snd_usb_endpoint_start(struct snd_usb_endpoint *ep) | |||
| 821 | if (++ep->use_count != 1) | 821 | if (++ep->use_count != 1) |
| 822 | return 0; | 822 | return 0; |
| 823 | 823 | ||
| 824 | /* just to be sure */ | ||
| 825 | deactivate_urbs(ep, 0, 1); | ||
| 826 | wait_clear_urbs(ep); | ||
| 827 | |||
| 828 | ep->active_mask = 0; | 824 | ep->active_mask = 0; |
| 829 | ep->unlink_mask = 0; | 825 | ep->unlink_mask = 0; |
| 830 | ep->phase = 0; | 826 | ep->phase = 0; |
diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c index a1298f379428..62ec808ed792 100644 --- a/sound/usb/pcm.c +++ b/sound/usb/pcm.c | |||
| @@ -544,6 +544,9 @@ static int snd_usb_pcm_prepare(struct snd_pcm_substream *substream) | |||
| 544 | subs->last_frame_number = 0; | 544 | subs->last_frame_number = 0; |
| 545 | runtime->delay = 0; | 545 | runtime->delay = 0; |
| 546 | 546 | ||
| 547 | /* clear the pending deactivation on the target EPs */ | ||
| 548 | deactivate_endpoints(subs); | ||
| 549 | |||
| 547 | /* for playback, submit the URBs now; otherwise, the first hwptr_done | 550 | /* for playback, submit the URBs now; otherwise, the first hwptr_done |
| 548 | * updates for all URBs would happen at the same time when starting */ | 551 | * updates for all URBs would happen at the same time when starting */ |
| 549 | if (subs->direction == SNDRV_PCM_STREAM_PLAYBACK) | 552 | if (subs->direction == SNDRV_PCM_STREAM_PLAYBACK) |
