summaryrefslogtreecommitdiffstats
path: root/sound
Commit message (Collapse)AuthorAgeFilesLines
* ARM: tegra: remove <mach/dma.h>Stephen Warren2012-11-052-3/+0
| | | | | | | | | | | | | | | Remove includes of <mach/dma.h> from sound/soc; nothing from it is used. Remove include of <mach/dma.h> from mach-tegra/apbio.c; since the DMA transfers made by this file don't need flow-control with any peripheral, there's no need to set any slave ID. Once those changes are made, there are no remaining users of <mach/dma.h> so remove it. Drivers should get this information from device tree. This removal is necessary for single zImage. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ALSA: ice1724: Fix rate setup after resumeTakashi Iwai2012-10-311-1/+6
| | | | | | | | | The rate isn't restored properly after resume since it's only set up in hw_params, and not in prepare callback. For fixing it, put the corresponding call to resume callback as well. Reported-and-tested-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: Avoid endless sleep after disconnectTakashi Iwai2012-10-306-1/+46
| | | | | | | | | When disconnect callback is called, each component should wake up sleepers and check card->shutdown flag for avoiding the endless sleep blocking the proper resource release. Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: Add a reference counter to card instanceTakashi Iwai2012-10-3010-32/+83
| | | | | | | | | | | | | For more strict protection for wild disconnections, a refcount is introduced to the card instance, and let it up/down when an object is referred via snd_lookup_*() in the open ops. The free-after-last-close check is also changed to check this refcount instead of the empty list, too. Reported-by: Matthieu CASTET <matthieu.castet@parrot.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: usb-audio: Fix races at disconnection in mixer_quirks.cTakashi Iwai2012-10-301-7/+51
| | | | | | | | | Similar like the previous commit, cover with chip->shutdown_rwsem and chip->shutdown checks. Reported-by: Matthieu CASTET <matthieu.castet@parrot.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: usb-audio: Use rwsem for disconnect protectionTakashi Iwai2012-10-304-17/+21
| | | | | | | | | | | | Replace mutex with rwsem for codec->shutdown protection so that concurrent accesses are allowed. Also add the protection to snd_usb_autosuspend() and snd_usb_autoresume(), too. Reported-by: Matthieu CASTET <matthieu.castet@parrot.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: usb-audio: Fix races at disconnectionTakashi Iwai2012-10-305-41/+79
| | | | | | | | | | | | | | | | | | | | | | | | | Close some races at disconnection of a USB audio device by adding the chip->shutdown_mutex and chip->shutdown check at appropriate places. The spots to put bandaids are: - PCM prepare, hw_params and hw_free - where the usb device is accessed for communication or get speed, in mixer.c and others; the device speed is now cached in subs->speed instead of accessing to chip->dev The accesses in PCM open and close don't need the mutex protection because these are already handled in the core PCM disconnection code. The autosuspend/autoresume codes are still uncovered by this patch because of possible mutex deadlocks. They'll be covered by the upcoming change to rwsem. Also the mixer codes are untouched, too. These will be fixed in another patch, too. Reported-by: Matthieu CASTET <matthieu.castet@parrot.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: PCM: Fix some races at disconnectionTakashi Iwai2012-10-302-5/+18
| | | | | | | | | | | Fix races at PCM disconnection: - while a PCM device is being opened or closed - while the PCM state is being changed without lock in prepare, hw_params, hw_free ops Reported-by: Matthieu CASTET <matthieu.castet@parrot.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge tag 'asoc-3.7' of ↵Takashi Iwai2012-10-282-5/+4
|\ | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Fixes for v3.7 Clean up some fallout from the OMAP header reorganisation and a minor fix for DMIC which has no practical effect but is neater.
| * ASoC: omap-dmic: Correct functional clock namePeter Ujfalusi2012-10-271-2/+2
| | | | | | | | | | | | | | | | | | We should really use "fck" when asking for the functional clock and not "dmic_fck". This way we can ensure that multiple dmic modules can exist in the system. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: zoom2: Fix compile error by including correct header filesTony Lindgren2012-10-271-3/+2
| | | | | | | | | | | | | | | | | | | | | | Also drop the includes that are no longer needed and just cause problems for the ARM common zImage. Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Tim Gardner <tim.gardner@canonical.com> [tony@atomide.com: updated to drop unneeded headers] Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ALSA: hda - Fix mute-LED setup for HP dv5 laptopGustavo Maciel Dias Vieira2012-10-261-0/+2
| | | | | | | | | | | | | | | | | | | | The BIOS on HP dv5 doesn't have the DMI string to guide the setup of mute led GPIO and polarity. Associate this laptop with the hp-inv-led model. Signed-off-by: Gustavo Maciel Dias Vieira <gustavo@sagui.org> Tested-by: Vinícius Angiolucci <angiolucci@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge tag 'asoc-3.7' of ↵Takashi Iwai2012-10-254-6/+38
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Fixes for v3.7 A couple of driver fixes, one that improves the interoperability of WM8994 with controllers that are sensitive to extra BCLK cycles and some build break fixes for ux500.
| * \ Merge remote-tracking branches 'asoc/fix/ux500' and 'asoc/fix/wm8994' into ↵Mark Brown2012-10-2517-80/+136
| |\ \ | | | | | | | | | | | | for-3.7
| | * | ASoC: wm8994: Only enable extra BCLK cycles when requiredMark Brown2012-10-242-1/+18
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | Rather than always assuming the maximum possible BCLK rate will be required generate BCLKs for stereo if either one or two channels is enabled. In order to support this we also need to ensure that only the relevant channels are enabled. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: ux500_msp_i2s: Fix devm_* and return code merge errorLee Jones2012-10-161-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some ux500_msp_i2s patches clashed with: b18e93a493626c1446f9788ebd5844d008bbf71c ASoC: ux500_msp_i2s: better use devm functions and fix error return code ... leaving the driver uncompilable. This patch fixes the issues encountered. Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: Ux500: Dispose of device nodes correctlyLee Jones2012-10-161-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When of_parse_phandle() is used to find a device node, its reference count is incremented by the helper. Once we're finished with them, it's our responsibly to ensure they are freed in the correct manor. Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ALSA: als3000: check for the kzalloc return valueDenis Kirjanov2012-10-221-0/+4
| | | | | | | | | | | | | | | Signed-off-by: Denis Kirjanov <kirjanov@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: sound/isa/opti9xx/miro.c: eliminate possible double freeJulia Lawall2012-10-211-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | snd_miro_probe is a static function that is only called twice in the file that defines it. At each call site, its argument is freed using snd_card_free. Thus, there is no need for snd_miro_probe to call snd_card_free on its argument on any of its error exit paths. Because snd_card_free both reads the fields of its argument and kfrees its argments, the results of the second snd_card_free should be unpredictable. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ identifier f,free,a; parameter list[n] ps; type T; expression e; @@ f(ps,T a,...) { ... when any when != a = e if(...) { ... free(a); ... return ...; } ... when any } @@ identifier r.f,r.free; expression x,a; expression list[r.n] xs; @@ * x = f(xs,a,...); if (...) { ... free(a); ... return ...; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Fix silent headphone output from Toshiba P200Takashi Iwai2012-10-201-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By some reason, Toshiba laptop doesn't like the EAPD turned up for the headphone pin. Add a fix up code to force to turn down EAPD for NID 0x15. Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=569991 Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hdspm - Fix coding style in CTL_ELEM macrosAdrian Knoth2012-10-201-90/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | checkpatch.pl discourages the use of spaces at the beginning of lines. Some of the CTL_ELEM defines were not properly indented. This patch replaces the leading spaces by tabs. No functionality is changed, the commit is purely cosmetic. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hdspm - Fix typo in kcontrol element on RME MADI cardsAdrian Knoth2012-10-201-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hdspm - Fix sync_in detection on AES/AES32Adrian Knoth2012-10-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | According to the documentation, AES32 cards use a different bit position for reporting the sync_in status. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hdspm - Fix sync_in reporting on RME MADI cardsAdrian Knoth2012-10-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | In contrast to AES32, MADI uses the first status register to report the sync_in status. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hdspm - Also report autosync_sample_rate on MADI and MADIfaceAdrian Knoth2012-10-201-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | MADI and MADIface used to report the autosync_sample_rate. This functionality was lost in commit 0dca1793063c28dde8f6c49c9c72203fe5cb6efc, this commit now adds it back. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hdspm - Fix reported autosync_sample_rateAdrian Knoth2012-10-201-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Missing breaks lead to a fall-through, thus causing the wrong autosync_sample_rate to be reported. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hdspm - Fix sync check reporting on all RME HDSPM cardsAdrian Knoth2012-10-201-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Due to missing breaks and the resulting fall-through, card subtype selection was effectively missing, thus causing the wrong sync check functions to be called. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hdspm - Report external rate in slave mode on PCI MADIAdrian Knoth2012-10-201-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As a follow-up to a97bda7d29d02a2e9c6609d0947b15e55f5200e5, report the external sample rate as system_sample_rate when in slave mode. For PCIe MADI cards, the DDS value automatically contains the external sample rate, but the PCI version needs this manual workaround. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hdspm - Allow DDS/Varispeed to be set from userspaceAdrian Knoth2012-10-201-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DDS value is the actual physical sample rate. We set it indirectly when selecting 44100, 48000 and so on via snd_hdspm_hw_params or hdspm_set_clock_source. This commit now allows the DDS value to be altered at runtime, thus speeding up or slowing down the physical sample rate. This is required for MADI's varispeed that allows for ±12.5% speed adjustment from the "selected" rate (32kHz, 44100kHz, 48kHz and so on). Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - add dock support for Thinkpad T430Stefán Freyr2012-10-191-0/+1
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I have a Lenovo ThinkPad T430 and an UltraBase Series 3 docking station. Without this patch, if I plug my headphones into the jack on the computer, everything works fine. The computer speakers mute and the audio is played in the headphones. However, if I plug into the docking station headphone jack the computer speakers are muted but there is no audio in the headphones. Addresses https://bugs.launchpad.net/bugs/1060372 Signed-off-by: Joseph Salisbury <joseph.salisbury@canonical.com> Cc: stable@vger.kernel.org Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: emu10k1: add chip details for E-mu 1010 PCIe cardMaxim Kachur2012-10-171-0/+9
| | | | | | | | | | | | | | | | Add chip details for E-mu 1010 PCIe card. It has the same chip as found in E-mu 1010b but it uses different PCI id. Signed-off-by: Maxim Kachur <mcdebugger@duganet.ru> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge tag 'asoc-3.7' of ↵Takashi Iwai2012-10-1711-62/+78
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Fixes for v3.7 Nothing too exciting except for the ams-delta change which is relatively lerge due to the fact that the driver loading had been totally broken as the driver needed a newer API to function.
| * | ASoC: bells: Correct typo in sub speaker DAI name for WM5110Mark Brown2012-10-171-1/+1
| | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: codecs: da9055: Minor improvement in ALC calibration processAshish Chavan2012-10-111-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch slightly improves ALC calibration process of da9055 codec driver by muting Mic PGAs during calibration. Signed-off-by: Ashish Chavan <ashish.chavan@kpitcummins.com> Signed-off-by: David Dajun Chen <david.chen@diasemi.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: dmaengine: Correct Makefile when sound is built as modulePeter Ujfalusi2012-10-091-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | soc-dmaengine-pcm library need to be part of the snd-soc-core in order to be able to compile ASoC as modules when dmaengine is enabled on the platform. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: fsi: don't reschedule DMA from an atomic contextGuennadi Liakhovetski2012-10-091-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | shdma doesn't support transfer re-scheduling or triggering from callbacks or from atomic context. The fsi driver issues DMA transfers from a tasklet context, which is a bug. To fix it convert tasklet to a work. Reported-by: Do Q.Thang <dq-thang@jinso.co.jp> Tested-by: Do Q.Thang <dq-thang@jinso.co.jp> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
| * | ASoC: fix documentation in soc-jackPeter Meerwald2012-10-091-3/+4
| | | | | | | | | | | | | | | Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ARM: pxa: Fix build error caused by sram.h renameChris Ball2012-10-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 293b2da1b61 ("ARM: pxa: move platform_data definitions") renamed arch/arm/mach-mmp/include/mach/sram.h to include/linux/platform_data/dma-mmp_tdma.h, but didn't update mmp-pcm.c which uses the header. Fix the build error. Signed-off-by: Chris Ball <cjb@laptop.org> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: wm2200: Fix non-inverted OUT2 mute controlMark Brown2012-10-051-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
| * | ASoC: wm2200: Use rev A register patches on rev BMark Brown2012-10-051-0/+1
| | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
| * | ASoC: bells: Correct typo in sub speaker DAI name for WM5110Mark Brown2012-10-051-1/+1
| | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | Merge branches 'asoc-twl6040' and 'asoc-omap' into for-3.7Mark Brown2012-10-043-41/+33
| |\ \
| | * | ASoC: ams-delta: Convert to use snd_soc_register_card()Janusz Krzysztofik2012-10-041-33/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old method of registering with the ASoC core by creating a "soc-audio" platform device no longer works for Amstrad Delta sound card after recent changes to drvdata handling (commit 0998d0631001288a5974afc0b2a5f568bcdecb4d, 'device-core: Ensure drvdata = NULL when no driver is bound'. Use snd_soc_register_card() method instead, as suggested by the ASoC core generated warning message, and move both the card and codec platform device registration to the arch board file where those belong. Created and tested against linux-3.6-rc5. Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | ASoC: omap-mcpdm: Remove OMAP revision checkPeter Ujfalusi2012-10-041-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OMAP revision check is not needed since the watchdog bit is not in use on 4430 ES1.0 and have no effect when we set the bit. The watchdog need to be enabled on all other revisions. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | ASoC: Fix wrong include for McPDMTony Lindgren2012-10-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | McPDM needs platt/cpu.h for omap_rev and not omap_hwmod.h. Drivers must not include omap_hwmod.h at, it will be private to mach-omap2 soon. Fix the problem before other drivers will also start including omap_hwmod.h. Note that also plat/cpu.h will be going away, so the omap_rev check needs to be replaced with mcpdm-watchdog flag from platform_data or DT. Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | ASoC: omap-abe-twl6040: Fix typo of VibratorPeter Ujfalusi2012-10-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It is not Vinrator but Vibrator. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | ASoC: twl6040: Fix Stream DAPM mappingPeter Ujfalusi2012-10-041-4/+4
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes commit: 805238b ASoC: twl6040: Convert to use DAI DAPM widgets where the connection between the stream widgets and the ADC widgets was reversed and because of this on capture the DAPM is not powering up the codec. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ALSA: hda - Always check array bounds in alc_get_line_out_pfxDavid Henningsson2012-10-171-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even when CONFIG_SND_DEBUG is not enabled, we don't want to return an arbitrary memory location when the channel count is larger than we expected. Cc: stable@kernel.org Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Stop LPIB delay counting on broken hardwareTakashi Iwai2012-10-161-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If LPIB reports a pretty bad value, we can't trust such hardware for calculating the PCM delay. Automatically turn off the delay counting when such a problem is encountered. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=48911 Cc: <stable@vger.kernel.org> [v3.6] Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Fix registration race of VGA switcherooTakashi Iwai2012-10-151-11/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Delay the registration of VGA switcheroo client to the end of the probing. Otherwise a too quick switching may result in Oops during probing. Also add the check of the return value from snd_hda_lock_devices(). Reported-and-tested-by: Daniel J Blueman <daniel@quora.org> Cc: <stable@vger.kernel.org> [v3.5+] Signed-off-by: Takashi Iwai <tiwai@suse.de>