1. 21 11月, 2008 1 次提交
    • T
      ALSA: hda - Fix double free of jack instances · b94d3539
      Takashi Iwai 提交于
      The jack instances created in patch_sigmatel.c may be double-freed.
      The device management code checks the invalid element, and thus there
      is no real breakage, but it spews annoying warning messages.
      But, we can't simply remove the release calls of these jack instances
      because they have to be freed when the codec is re-configured.
      
      Now, a new flag, bus->shutdown is introduced to indicate that the bus
      is really being unloaded, i.e. the objects managed by the device
      manager will be automatically deleted.  We release these objects only
      when this flag isn't set.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      b94d3539
  2. 10 11月, 2008 1 次提交
  3. 07 11月, 2008 3 次提交
  4. 06 11月, 2008 1 次提交
  5. 05 11月, 2008 2 次提交
  6. 04 11月, 2008 1 次提交
  7. 28 10月, 2008 1 次提交
  8. 27 10月, 2008 1 次提交
  9. 13 10月, 2008 8 次提交
  10. 10 10月, 2008 5 次提交
  11. 23 9月, 2008 2 次提交
  12. 09 9月, 2008 1 次提交
  13. 14 8月, 2008 1 次提交
  14. 13 8月, 2008 2 次提交
  15. 27 5月, 2008 1 次提交
  16. 24 4月, 2008 7 次提交
    • F
      [ALSA] hda-codec - Fix unbalanced mutex · eaa9985b
      Frederik Deweerdt 提交于
      On Wed, Apr 02, 2008 at 08:19:29AM -0400, Miles Lane wrote:
      > [   48.765906] [ BUG: bad unlock balance detected! ]
      > [   48.765912] -------------------------------------
      > [   48.765918] pulseaudio/4277 is trying to release lock
      > (&codec->spdif_mutex) at:
      > [   48.765930] [<c03031b7>] mutex_unlock+0x8/0xa
      > [   48.765945] but there are no more locks to release!
      > [   48.765950]
      > [   48.765952] other info that might help us debug this:
      > [   48.765959] 2 locks held by pulseaudio/4277:
      > [   48.765965]  #0:  (&pcm->open_mutex){--..}, at: [<f89f134b>]
      > snd_pcm_open+0xc1/0x1ba [snd_pcm]
      > [   48.766003]  #1:  (&chip->open_mutex){--..}, at: [<f8b4f13d>]
      > azx_pcm_open+0x36/0x184 [snd_hda_intel]
      > [   48.766057]
      > [   48.766059] stack backtrace:
      > [   48.766066] Pid: 4277, comm: pulseaudio Not tainted 2.6.25-rc8-mm1 #12
      > [   48.766086]  [<c013afc6>] print_unlock_inbalance_bug+0xce/0xd8
      > [   48.766107]  [<c0109e1c>] ? save_stack_trace+0x1d/0x3b
      > [   48.766130]  [<c012f54e>] ? __kernel_text_address+0x1b/0x27
      > [   48.766146]  [<c0104533>] ? dump_trace+0xcd/0xd9
      > [   48.766160]  [<c0109d9e>] ? save_stack_address+0x0/0x2c
      > [   48.766176]  [<c013b80a>] ? find_usage_backwards+0xa4/0xc3
      > [   48.766193]  [<c013cfb5>] lock_release_non_nested+0x84/0x120
      > [   48.766209]  [<c03031b7>] ? mutex_unlock+0x8/0xa
      > [   48.766222]  [<c013d1bb>] lock_release+0x16a/0x199
      > [   48.766238]  [<c0303137>] __mutex_unlock_slowpath+0xa9/0x121
      > [   48.766252]  [<c03031b7>] mutex_unlock+0x8/0xa
      > [   48.766263]  [<f8b4ffd8>] snd_hda_multi_out_analog_open+0xd3/0xef
      > [snd_hda_intel]
      
      The following patch should fix it.
      
      Cc: "Miles Lane" <miles.lane@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      eaa9985b
    • T
      [ALSA] hda-codec - keep the format verb at closing PCM streams · 888afa15
      Takashi Iwai 提交于
      Keep the format verb at closing PCM streams.
      Introduced snd_hda_codec_cleanup_stream() for the parcicular purpose.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      888afa15
    • H
      [ALSA] sound: hda: missing includes of hda_patch.h · 3c9a3203
      Harvey Harrison 提交于
      Move the array declaration to hda_codec.c where it is used and add includes
      where the individual presets are declared.
      
      Fixes the following sparse warnings:
      sound/pci/hda/patch_realtek.c:13744:25: warning: symbol 'snd_hda_preset_realtek' was not declared. Should it be static?
      sound/pci/hda/patch_cmedia.c:729:25: warning: symbol 'snd_hda_preset_cmedia' was not declared. Should it be static?
      sound/pci/hda/patch_analog.c:3656:25: warning: symbol 'snd_hda_preset_analog' was not declared. Should it be static?
      sound/pci/hda/patch_sigmatel.c:3995:25: warning: symbol 'snd_hda_preset_sigmatel' was not declared. Should it be static?
      sound/pci/hda/patch_si3054.c:286:25: warning: symbol 'snd_hda_preset_si3054' was not declared. Should it be static?
      sound/pci/hda/patch_atihdmi.c:156:25: warning: symbol 'snd_hda_preset_atihdmi' was not declared. Should it be static?
      sound/pci/hda/patch_conexant.c:1721:25: warning: symbol 'snd_hda_preset_conexant' was not declared. Should it be static?
      sound/pci/hda/patch_via.c:1962:25: warning: symbol 'snd_hda_preset_via' was not declared. Should it be static?
      Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      3c9a3203
    • T
      [ALSA] hda-codec - Add more names to vendor list · c8cd1281
      Takashi Iwai 提交于
      Added more known names to the vendor id list.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      c8cd1281
    • T
      [ALSA] hda-codec - Add "IEC958 Default PCM" switch · 9a08160b
      Takashi Iwai 提交于
      Added a new mixer switch to enable/disable the sharing of the default
      PCM stream with analog and SPDIF outputs.  When "IEC958 Default PCM"
      switch is on, the PCM stream is routed both to analog and SPDIF outputs.
      This is the behavior in the earlier version.
      
      Turning this switch off has a merit for some codecs, though.  Some codec
      chips don't support 24bit formats for SPDIF but only for analog outputs.
      In this case, you can use 24bit format by disabling this switch.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      9a08160b
    • T
      [ALSA] hda-codec - More fix-up for auto-configuration · 5832fcf8
      Takashi Iwai 提交于
      In some cases, the BIOS sets up only the HP pins with different assoc
      and sequence numbers, e.g. on FSC Esprimo with ALC262.
      
      This patch adds a fix-up for such a case.  When multiple HPs are defined
      and no line-outs is found, the configurator tries to re-assign some pins
      from HP list to line-out, judging from the sequence number.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      5832fcf8
    • T
      [ALSA] hda-codec - Allow multiple SPDIF devices · 09f99701
      Takashi Iwai 提交于
      The current code doesn't allow multiple SPDIF devices, and causes
      errors when multiple SPDIF devices are found (e.g. SPDIF out and HDMI).
      This patch allows multiple SPDIF devices by incrementing the index
      automatically.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      09f99701
  17. 23 2月, 2008 2 次提交
    • T
      [ALSA] hda-codec - Don't create vmaster if no slaves found · 2f085549
      Takashi Iwai 提交于
      Don't create vmaster controls if no slaves are found in the given list.
      This prevents the error due to an empty vmaster control.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2f085549
    • S
      [ALSA] hda-codec - Fix race condition in generic bound volume/swtich controls · 14c65f98
      Serge A. Suchkov 提交于
      Attached patch fix race condition in hd_codec generic bound volume/swtich
      controls
      
      oops on this bug can be easy reproduced by two mixer apps on SMP system with
      PREEMPT kernel
      
      dmesg:
      
       ALSA /home/ss/ALSA/alsa-driver-1.0.16/pci/hda/../../alsa-kernel/pci/hda/hda_intel.c:596:
       hda_intel: azx_get_response timeout, switching to polling mode: las
       t cmd=0x014f0900
       BUG: unable to handle kernel paging request at virtual address 00070006
       printing eip: f8f43e95 *pde = 00000000
       Oops: 0000 [#1] PREEMPT SMP
       Modules linked in: i915 drm snd_seq_dummy snd_seq_oss snd_seq_midi_event
       snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss bnep rfcomm hidp l2cap
       bluetooth w
       lan_wep acpi_cpufreq coretemp hwmon mmc_block pcspkr psmouse wlan_scan_sta
       ath_rate_sample snd_hda_intel ath_pci serio_raw wlan tg3 sdhci snd_pcm
       firewire_o
       hci mmc_core i2c_i801 snd_timer firewire_core snd_page_alloc ath_hal(P)
       snd_hwdep snd iTCO_wdt crc_itu_t iTCO_vendor_support shpchp video output
       acer_acpi b
       acklight led_class wmi_acer
      
       Pid: 3969, comm: gkrellm Tainted: P        (2.6.24-jm #4)
       EIP: 0060:[<f8f43e95>] EFLAGS: 00010292 CPU: 0
       EIP is at snd_hda_mixer_bind_ctls_info+0x20/0x43 [snd_hda_intel]
       EAX: 00000000 EBX: f7478e00 ECX: f763e000 EDX: f764f788
       ESI: 00070002 EDI: edce5e00 EBP: edc3fe64 ESP: edc3fe54
        DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
       Process gkrellm (pid: 3969, ti=edc3e000 task=f1e4e000 task.ti=edc3e000)
       Stack: f764f77c f7478e00 edce5e00 f6dd6000 edc3fe84 f8e590e8 edc7a239 f6d14034
             f764f34c f6c0f7e0 edc3ff30 f6d14034 edc3fea8 f8e591b7 edc3ff30 edc3ff2c
             00000000 f70aa668 f6d14034 f8e59165 bfbfadb0 edc3ff40 f8e587aa edc3ff2c
       Call Trace:
       [<c0104fbb>] show_trace_log_lvl+0x1a/0x2f
       [<c010506d>] show_stack_log_lvl+0x9d/0xa5
       [<c0105119>] show_registers+0xa4/0x1bd
       [<c0105354>] die+0x122/0x206
       [<c03daccc>] do_page_fault+0x535/0x623
       [<c03d940a>] error_code+0x72/0x78
       [<f8e590e8>] snd_mixer_oss_get_volume1_vol+0x74/0xf1 [snd_mixer_oss]
       [<f8e591b7>] snd_mixer_oss_get_volume1+0x52/0xa5 [snd_mixer_oss]
       [<f8e587aa>] snd_mixer_oss_ioctl1+0x673/0x71e [snd_mixer_oss]
       [<f8e588af>] snd_mixer_oss_ioctl+0xb/0xd [snd_mixer_oss]
       [<c017af0a>] do_ioctl+0x22/0x67
       [<c017b186>] vfs_ioctl+0x237/0x24a
       [<c017b1ca>] sys_ioctl+0x31/0x4b
       [<c010402e>] syscall_call+0x7/0xb
       =======================
       Code: 3f 49 c7 89 f8 59 5b 5e 5f 5d c3 55 89 e5 57 89 d7 56 53 89 c3 83 ec 04
       8b 70 5c 8b 40 60 05 7c 01 00 00 89 45 f0 e8 c0 3f 49 c7 <8b> 46 04 89 fa 89
       4
       3 5c 89 d8 8b 0e ff 11 89 73 5c 89 c7 8b 45
       EIP: [<f8f43e95>] snd_hda_mixer_bind_ctls_info+0x20/0x43 [snd_hda_intel]
       SS:ESP 0068:edc3fe54
       ---[ end trace 0a20bc209e9397cc ]---
      
      similar issue report present in ALSA bugtracking system
      https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3652Signed-off-by: NSerge A. Suchkov <Serge.A.S@tochka.ru>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      14c65f98