summaryrefslogtreecommitdiffstats
path: root/sound/pci
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: HDA: Add dock mic quirk for Lenovo Thinkpad X220David Henningsson2011-03-311-0/+1
| | | | | | | | | | | This quirk is needed for the docking station mic of Lenovo Thinkpad X220 to function correctly. BugLink: http://bugs.launchpad.net/bugs/746259 Cc: stable@kernel.org Tested-by: James Ferguson <james.ferguson@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: ens1371: fix Creative Ectiva supportClemens Ladisch2011-03-301-4/+19
| | | | | | | | | To make the EV1938 chip work, add a magic bit and an extra delay. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Tested-by: Tino Schmidt <mailtinoshomepage@gmx.net> Cc: all 2.6.x <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix pin-config of Gigabyte moboTakashi Iwai2011-03-281-3/+18
| | | | | | | Use pin-fix instead of the static quirk for Gigabyte mobos 1458:a002. Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=677256 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'for-linus' of ↵Linus Torvalds2011-03-273-74/+154
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: Fix yet another race in disconnection ALSA: asihpi - Update verbose debug print macros ALSA: asihpi - Improve non-busmaster adapter operation ALSA: asihpi - Support single-rate no-SRC cards ALSA: HDA: New AD1984A model for Dell Precision R5500 ALSA: vmalloc buffers should use normal mmap ALSA: hda - Fix SPDIF out regression on ALC889 ALSA: usb-audio - Support for Boss JS-8 Jam Station ALSA: usb-audio: add Cakewalk UM-1G support sound/oss/opl3: validate voice and channel indexes sound/oss: remove offset from load_patch callbacks
| * ALSA: asihpi - Update verbose debug print macrosEliot Blennerhassett2011-03-251-53/+47
| | | | | | | | | | | | | | | | | | Replace local VPRINTK1 with snd_printdd. Create local snd_printddd instead of VPRINTK2 for most verbose debug. In most cases let snd_printk supply default level for messages. Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: asihpi - Improve non-busmaster adapter operationEliot Blennerhassett2011-03-251-11/+10
| | | | | | | | | | | | | | | | | | | | Make playback silence callback a no-op, card automatically outputs silence when written data runs out. Increasing update interval and thus minimum period avoids xrun on startup or because of timer jitter. Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: asihpi - Support single-rate no-SRC cardsEliot Blennerhassett2011-03-251-9/+7
| | | | | | | | | | | | | | | | | | Cards without settable local samplerate and without SRC still must have a valid samplerate. This fixed rate is determined by reading the current rate for the card. Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: HDA: New AD1984A model for Dell Precision R5500David Henningsson2011-03-251-0/+89
| | | | | | | | | | | | | | | | | | | | | | For codec AD1984A, add a new model to support Dell Precision R5500 or the microphone jack won't work correctly. BugLink: http://bugs.launchpad.net/bugs/741516 Tested-by: Kent Baxley <kent.baxley@canonical.com> Cc: stable@kernel.org Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Fix SPDIF out regression on ALC889Takashi Iwai2011-03-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The commit 5a8cfb4e8ae317d283f84122ed20faa069c5e0c4 ALSA: hda - Use ALC_INIT_DEFAULT for really default initialization changed to use the default initialization method for ALC889, but this caused a regression on SPDIF output on some machines. This seems due to the COEF setup included in the default init procedure. For making SPDIF working again, the COEF-setup has to be avoided for the id 0889. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=24342 Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'for-linus' of ↵Linus Torvalds2011-03-232-20/+65
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: HDA: Realtek: Avoid unnecessary volume control index on Surround/Side ASoC: Support !REGULATOR build for sgtl5000 ALSA: hda - VIA: Fix VT1708 can't build up Headphone control issue ALSA: hda - VIA: Correct stream names for VT1818S ALSA: hda - VIA: Fix codec type for VT1708BCE at the right timing ALSA: hda - VIA: Fix invalid A-A path volume adjust issue ALSA: hda - VIA: Add missing support for VT1718S in A-A path ALSA: hda - VIA: Fix independent headphone no sound issue ALSA: hda - VIA: Fix stereo mixer recording no sound issue ALSA: hda - Set EAPD for Realtek ALC665 ALSA: usb - Remove trailing spaces from USB card name strings sound: read i_size with i_size_read() ASoC: Remove bogus check for register validity in debugfs write ASoC: mini2440: Fix uda134x codec problem.
| * ALSA: HDA: Realtek: Avoid unnecessary volume control index on Surround/SideDavid Henningsson2011-03-231-8/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Similar to commit 7e59e097c09b82760bb0fe08b0fa2b704d76c3f4, this patch avoids unnecessary volume control indices for more Realtek auto-parsers, e g the ALC66x family, on the "Surround" and "Side" controls. These indices cause these volume controls to be ignored by PulseAudio and vmaster and should be removed whenever possible. Cc: stable@kernel.org Reported-by: Jan Losinski <losinski@wh2.tu-dresden.de> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - VIA: Fix VT1708 can't build up Headphone control issueLydia Wang2011-03-221-3/+6
| | | | | | | | | | | | | | | | | | Since VT1708 didn't support the control of getting connection number, building of headphone control will fail in via_hp_build() function. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - VIA: Correct stream names for VT1818SLydia Wang2011-03-221-0/+5
| | | | | | | | | | | | | | | | Correct stream names of analog playback and capture streams for VT1818S. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - VIA: Fix codec type for VT1708BCE at the right timingLydia Wang2011-03-221-4/+5
| | | | | | | | | | | | | | | | | | Add get_codec_type() in via_new_spec() function to make sure getting correct codec type before building mixer controls. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - VIA: Fix invalid A-A path volume adjust issueLydia Wang2011-03-221-1/+8
| | | | | | | | | | | | | | | | | | Modify vt_auto_create_analog_input_ctls() function to fix invalid a-a path volume adjust issue for VT1708S, VT1702 and VT1716S codecs. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - VIA: Add missing support for VT1718S in A-A pathLydia Wang2011-03-221-0/+5
| | | | | | | | | | | | | | | | Modify mute_aa_path() function to support VT1718S codec. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - VIA: Fix independent headphone no sound issueLydia Wang2011-03-221-1/+11
| | | | | | | | | | | | | | | | | | Modify via_independent_hp_put() function to support VT1718S and VT1812 codecs, and fix independent headphone no sound issue. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - VIA: Fix stereo mixer recording no sound issueLydia Wang2011-03-221-3/+6
| | | | | | | | | | | | | | | | | | Modify function via_mux_enum_put() to fix stereo mixer recording no sound issue. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Set EAPD for Realtek ALC665Andres Mejia2011-03-211-0/+2
| | | | | | | | | | | | | | | | Set EAPD for Realtek ALC665 (Vendor Id: 0x10eSet EAPD for Realtek ALC665 (Vendor Id: 0x10ec0665). Signed-off-by: Andres Mejia <mcitadel@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'for-linus' of ↵Linus Torvalds2011-03-1842-6750/+7287
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (308 commits) ALSA: sound/pci/asihpi: check adapter index in hpi_ioctl ALSA: aloop - Fix possible IRQ lock inversion ALSA: sound/core: merge list_del()/list_add_tail() to list_move_tail() ALSA: ctxfi - use list_move() instead of list_del()/list_add() combination ALSA: firewire - msleep needs delay.h ALSA: firewire-lib, firewire-speakers: handle packet queueing errors ALSA: firewire-lib: allocate DMA buffer separately ALSA: firewire-lib: use no-info SYT for packets without SYT sample ALSA: add LaCie FireWire Speakers/Griffin FireWave Surround driver ALSA: hda - Remove an unused variable in patch_realtek.c ALSA: hda - pin-adc-mux-dmic auto-configuration of 92HD8X codecs ALSA: hda - fix digital mic selection in mixer on 92HD8X codecs ALSA: hda - Move default input-src selection to init part ALSA: hda - Initialize special cases for input src in init phase ALSA: ctxfi - Clear input settings before initialization ALSA: ctxfi - Fix SPDIF status retrieval ALSA: ctxfi - Fix incorrect SPDIF status bit mask ALSA: ctxfi - Fix microphone boost codes/comments ALSA: atiixp - Fix wrong time-out checks during ac-link reset ALSA: intel8x0m: append 'm' to "r_intel8x0" ...
| * Merge branch 'topic/misc' into for-linusTakashi Iwai2011-03-1834-6241/+6870
| |\
| | * ALSA: sound/pci/asihpi: check adapter index in hpi_ioctlDan Rosenberg2011-03-181-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The user-supplied index into the adapters array needs to be checked, or an out-of-bounds kernel pointer could be accessed and used, leading to potentially exploitable memory corruption. Signed-off-by: Dan Rosenberg <drosenberg@vsecurity.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: ctxfi - use list_move() instead of list_del()/list_add() combinationKirill A. Shutemov2011-03-161-2/+1
| | | | | | | | | | | | | | | Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: ctxfi - Clear input settings before initializationPrzemyslaw Bruski2011-03-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Clear input settings before initialization. Signed-off-by: Przemyslaw Bruski <pbruskispam@op.pl> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: ctxfi - Fix SPDIF status retrievalPrzemyslaw Bruski2011-03-141-14/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | SDPIF status retrieval always returned the default settings instead of the actual ones. Signed-off-by: Przemyslaw Bruski <pbruskispam@op.pl> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: ctxfi - Fix incorrect SPDIF status bit maskPrzemyslaw Bruski2011-03-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | SPDIF status mask creation was incorrect. Signed-off-by: Przemyslaw Bruski <pbruskispam@op.pl> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: ctxfi - Fix microphone boost codes/commentsPrzemyslaw Bruski2011-03-141-10/+18
| | | | | | | | | | | | | | | | | | | | | | | | microphone boost was set at +12dB, not +20dB (like in Windows driver and in adc_conf structure declaration), some comments added. Signed-off-by: Przemyslaw Bruski <pbruskispam@op.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: atiixp - Fix wrong time-out checks during ac-link resetTakashi Iwai2011-03-112-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The time-out in snd_atiixp_aclink_reset() is wrongly checked, and it resulted in exiting from the loop at the first iteration. Reported-by: Amir Shamsuddin <AmirS2+alsa@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: intel8x0m: append 'm' to "r_intel8x0"Paul Bolle2011-03-111-3/+3
| | | | | | | | | | | | | | | | | | | | | Appending an 'm' will distinguish it from a similar struct in intel8x0.c Signed-off-by: Paul Bolle <pebolle@tiscali.nl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: intel8x0m: add 'm' as "suffix" to static functionsPaul Bolle2011-03-111-49/+49
| | | | | | | | | | | | | | | | | | | | | Adding an 'm' will distinguish them from identical names in intel8x0.c. Signed-off-by: Paul Bolle <pebolle@tiscali.nl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: intel8x0m: wait a bit before warm reset checkPaul Bolle2011-03-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At every resume a laptop I use prints this message (at KERN_ERR level): ALSA sound/pci/intel8x0m.c:904: AC'97 warm reset still in progress? [0x2] The thing to note here is that 0x2 corresponds to ICH_AC97COLD. Ie, what seems to be happening is that the register involved indicated a warm reset for some time (as the ICH_AC97WARM bit was set) but by the time the warning is printed, and that same register is checked again, that bit is already cleared and only the ICH_AC97COLD bit is still set. It turns out a warm reset needs some time to settle, but it is currently checked right away. The test therefore fails the first time it is done and schedule_timeout_uninterruptible() will be called. Once we return from that jiffies is already (far) past end_time on this laptop, so we exit the loop, print a warning, and exit the function while the warm reset actually succeeded. A way to fix this is to call usleep_range() after writing to the register involved. A handful of tests suggest 500 usecs is a safe value. (This might punish the "finish cold reset" case, but on this laptop such a cold reset apparently never happens, so I can't say for sure.) While we're at it drop the extra single tick from end_time, as it looks rather silly. Signed-off-by: Paul Bolle <pebolle@tiscali.nl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * Merge branch 'fix/misc' into topic/miscTakashi Iwai2011-03-1111-109/+237
| | |\
| | * | ALSA: asihpi - Use %zd for size_t argument in error messageTakashi Iwai2011-03-081-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hdspm - Add firmware ID for older AES32 cards.Adrian Knoth2011-03-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current AES32 firmware revision ID is 234, however, a user confirmed that everything works fine with the previous revision, too. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hdspm - Fix midi port initializationAdrian Knoth2011-02-281-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Depending on the model and the presence of a TCO module, the number of midi ports varies. Some have 1 port (MADIface), some have 2 (default), with TCO, there are 3. Don't hardcode the number of midi ports to initialize. This patch also fixes a boot lockup on MADIface. [Coding-style fixes by tiwai] Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hdspm - Abort on unknown firmware revisionAdrian Knoth2011-02-281-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't continue if we cannot detect the real card type, otherwise, all subsequent functions, especially strcpy(), would fail, leaving the whole driver in an unusable state. Without such a protection, dmesg would look like this: Pid: 1525, comm: modprobe Not tainted 2.6.38-rc6 #1 MSI MS-7250/MS-7250 EIP: 0060:[<c114e700>] EFLAGS: 00010296 CPU: 1 EIP is at strcpy+0x10/0x30 EAX: f4d33e58 EBX: f5990800 ECX: f4d33e58 EDX: 00000000 ESI: 00000000 EDI: f4d33e58 EBP: f5990930 ESP: f3dd3e0c DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 f53d4204 00000000 f90bfc03 00000001 00000001 f3dd3e64 c10fedff f3dd3e7c f3d854e4 f53d4000 c10307b8 00000001 c10307b8 f5990860 c10307b8 00000001 c10332e5 f59908bc c12f4339 f59908bc f5990860 c11ef207 f4d33e00 f53d4000 [<f90bfc03>] ? snd_hdspm_probe+0x7e7/0x1166 [snd_hdspm] [<c10fedff>] ? __sysfs_add_one+0x1f/0xf0 [<c10307b8>] ? get_parent_ip+0x8/0x20 [<c10307b8>] ? get_parent_ip+0x8/0x20 [<c10307b8>] ? get_parent_ip+0x8/0x20 [<c10332e5>] ? add_preempt_count+0xa5/0xd0 [<c12f4339>] ? _raw_spin_lock_irqsave+0x19/0x40 [<c11ef207>] ? pm_runtime_enable+0x17/0x80 [<c1160172>] ? local_pci_probe+0x42/0xb0 [<c1161091>] ? pci_device_probe+0x61/0x80 [<c11e9587>] ? driver_probe_device+0x77/0x180 [<c11600f0>] ? pci_match_device+0xa0/0xc0 [<c11e9709>] ? __driver_attach+0x79/0x80 [<c11e9690>] ? __driver_attach+0x0/0x80 [<c11e8e32>] ? bus_for_each_dev+0x52/0x80 [<c11e9416>] ? driver_attach+0x16/0x20 [<c11e9690>] ? __driver_attach+0x0/0x80 [<c11e8771>] ? bus_add_driver+0xa1/0x220 [<c1160f20>] ? pci_device_remove+0x0/0xf0 [<c11e99a3>] ? driver_register+0x63/0x120 [<c11612bd>] ? __pci_register_driver+0x3d/0xb0 [<c1001132>] ? do_one_initcall+0x32/0x160 [<f90d6000>] ? alsa_card_hdspm_init+0x0/0x14 [snd_hdspm] [<c10676a9>] ? sys_init_module+0x99/0x1e0 [<c10ade3d>] ? sys_close+0x6d/0xc0 [<c1002c90>] ? sysenter_do_call+0x12/0x26 ---[ end trace 239f0661c558378b ]--- Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hdspm - Add updated firmware revision for AES32Adrian Knoth2011-02-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In contrast to the PCIe version (RME AES), the PCI version (RME AES32) has a different firmware revision. This patch adds the missing PCI revision. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hdspm - AES32: Use define instead of hardcoded channel countAdrian Knoth2011-02-281-4/+7
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: emu10k1 - emu10k1_main.c remove one to many l's in the word.Justin P. Mattock2011-02-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch below removes an extra "l" in the word. Signed-off-by: Justin P. Mattock <justinmattock@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - patch_realtek.c remove one to many l's in the word.Justin P. Mattock2011-02-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch below removes an extra "l" in the word. Signed-off-by: Justin P. Mattock <justinmattock@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hdspm - Fix lock/sync reporting on MADI and AES32Adrian Knoth2011-02-231-2/+2
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hdspm - prevent reading unitialized stack memoryAdrian Knoth2011-02-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original patch by Dan Rosenberg <drosenberg@vsecurity.com> under commit e68d3b316ab7b02a074edc4f770e6a746390cb7d. I'm copying his text here: The SNDRV_HDSPM_IOCTL_GET_CONFIG_INFO ioctl in hdspm.c allow unprivileged users to read uninitialized kernel stack memory, because several fields of the hdspm_config struct declared on the stack are not altered or zeroed before being copied back to the user. This patch takes care of it. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hdspm - fix sync check on AES32Adrian Knoth2011-02-231-3/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fredrik Lingvall <fredrik.lingvall@gmail.com> has discovered wrong frequency and sync detection on AES32. According to him, the provided patch fixes these issues. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hdspm - Remove input selector on MADIfaceAdrian Knoth2011-02-231-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In contrast to the RME MADI card, coax/optical selection on the MADIface is done via a physical switch located at the breakout box. Obviously, the driver cannot switch ports in software. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hdspm - Fix DS/QS output channel mappings on RME MADI/MADIfaceAdrian Knoth2011-02-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Caused by two typos, no output channel mappings were assigned for MADI/MADIface at double/quad speed. The channel mapping is indeed identical to the single speed mapping, the cards will simply use the first N channels. Signed-off-by: Florian Faber <faber@faberman.de> Signed-off-by: Fredrik Lingvall <fredrik.lingvall@gmail.com> Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hdspm - Restrict channel count on RME AES/AES32Adrian Knoth2011-02-231-16/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without calling an appropriate rule, AES/AES32 cards would announce a theoretical channel count of 64 (HDSPM_MAX_CHANNELS), leading to the already known bug: [37422.640481] ------------[ cut here ]------------ [37422.640487] WARNING: at sound/pci/rme9652/hdspm.c:5449 snd_hdspm_ioctl+0x18f/0x202 [snd_hdspm]() [37422.640489] Hardware name: PRIMERGY RX100 S6 [37422.640490] BUG? (info->channel >= hdspm->max_channels_in) [37422.640492] Modules linked in: snd_hdspm snd_seq_midi ipmi_watchdog ipmi_poweroff ipmi_si ipmi_devintf ipmi_msghandler i2c_i801 e1000e snd_rawmidi power_meter [last unloaded: snd_hdspm] [37422.640501] Pid: 22231, comm: jackd Tainted: G D W 2.6.36-gentoo-r5 #5 [37422.640502] Call Trace: [37422.640508] [<ffffffff8103db3a>] warn_slowpath_common+0x80/0x98 [37422.640511] [<ffffffff8103dbe6>] warn_slowpath_fmt+0x41/0x43 [37422.640514] [<ffffffff81034306>] ? get_parent_ip+0x11/0x42 [37422.640518] [<ffffffffa0055763>] snd_hdspm_ioctl+0x18f/0x202 [snd_hdspm] [37422.640522] [<ffffffff813fd626>] snd_pcm_channel_info+0x73/0x7c [37422.640525] [<ffffffff814001e9>] snd_pcm_common_ioctl1+0x326/0xb01 [37422.640527] [<ffffffff81034306>] ? get_parent_ip+0x11/0x42 [37422.640531] [<ffffffff8105be6c>] ? __srcu_read_unlock+0x3b/0x59 [37422.640533] [<ffffffff81400bce>] snd_pcm_capture_ioctl1+0x20a/0x227 [37422.640537] [<ffffffff811e599c>] ? file_has_perm+0x90/0x9e [37422.640540] [<ffffffff81400c15>] snd_pcm_capture_ioctl+0x2a/0x2e [37422.640543] [<ffffffff810f2c69>] do_vfs_ioctl+0x404/0x453 [37422.640546] [<ffffffff810f2d09>] sys_ioctl+0x51/0x74 [37422.640549] [<ffffffff81002aab>] system_call_fastpath+0x16/0x1b [37422.640552] ---[ end trace 0cd919cd68118082 ]--- We already have all the right values in place, we simply have to inform the upper layers about this restriction. Note that snd_hdspm_hw_rule_rate_out_channels and snd_hdspm_hw_rule_rate_in_channels must not be called on AES32, because the channel count is always 16, no matter of the samplerate in use. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hdspm - Fix buffer handling on RME MADI/MADIface/AES(32)Adrian Knoth2011-02-231-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only RayDAT and AIO provide sane buffer pointers that can be used with HDSPM_BufferPositionMask, on all other cards, this would result in a wrong HW pointer leading to xruns and these messages: [260808.916788] BUG: pcmC0D0p:0, pos = 2976, buffer size = 1024, period size = 512 [260808.961124] BUG: pcmC0D0c:0, pos = 4944, buffer size = 1024, period size = 512 Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hpdsm - RME AES(32): Fix missing channel mappingsAdrian Knoth2011-02-231-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On RME AES and AES(32), none of the required information (max_channels_in, max_channels_out, channel mappings, port names) was set, leading to the BUG below. This patch adds the missing bits, thus fixing the bug. 125.058768] ------------[ cut here ]------------ [ 125.058773] WARNING: at sound/pci/rme9652/hdspm.c:5389 snd_hdspm_ioctl+0x10c/0x1d8 [snd_hdspm]() [ 125.058775] Hardware name: PRIMERGY RX100 S6 [ 125.058777] BUG? (info->channel >= hdspm->max_channels_out) [ 125.058778] Modules linked in: ipmi_watchdog ipmi_poweroff ipmi_si ipmi_devintf ipmi_msghandler snd_hdspm power_meter e1000e snd_rawmidi i2c_i801 [ 125.058787] Pid: 3652, comm: audacity Tainted: G W 2.6.36-gentoo-r5 #5 [ 125.058788] Call Trace: [ 125.058792] [<ffffffff8103db3a>] warn_slowpath_common+0x80/0x98 [ 125.058796] [<ffffffff8103dbe6>] warn_slowpath_fmt+0x41/0x43 [ 125.058800] [<ffffffffa006761a>] snd_hdspm_ioctl+0x10c/0x1d8 [snd_hdspm] [ 125.058803] [<ffffffff813fd626>] snd_pcm_channel_info+0x73/0x7c [ 125.058806] [<ffffffff814001e9>] snd_pcm_common_ioctl1+0x326/0xb01 [ 125.058809] [<ffffffff810c604c>] ? __do_fault+0x361/0x3a6 [ 125.058812] [<ffffffff81400e23>] snd_pcm_playback_ioctl1+0x20a/0x227 [ 125.058815] [<ffffffff811e599c>] ? file_has_perm+0x90/0x9e [ 125.058818] [<ffffffff81400e6a>] snd_pcm_playback_ioctl+0x2a/0x2e [ 125.058821] [<ffffffff810f2c69>] do_vfs_ioctl+0x404/0x453 [ 125.058824] [<ffffffff810f2d09>] sys_ioctl+0x51/0x74 [ 125.058827] [<ffffffff81002aab>] system_call_fastpath+0x16/0x1b [ 125.058830] ---[ end trace 5bddb08e5d4cbeb1 ]--- Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Florian Faber <faber@faberman.de> Signed-off-by: Fredrik Lingvall <fredrik.lingvall@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA - au88x0 - add Playback Volume to 10 bands Equalizer ControlsRaymond Yau2011-02-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add " Playback Volume" to 10 bands Equalizer Controls of au88x0 so that alsa-lib won't regard them as "Capture Volume". Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: azt3328: hook up new emulated AC97 on AC97 patch sideAndreas Mohr2011-02-192-0/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make newly created AC97 emulation of azt3328 known to the AC97 layer side. - relocate common functions to the top (due to definition after use) - rename control names - adjust 3D settings to the card's custom layout of this register Signed-off-by: Andreas Mohr <andi@lisas.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
OpenPOWER on IntegriCloud