[alsa-devel] [ALSA PATCH] alsa-git merge request
Linus, please pull from:
git pull git://git.alsa-project.org/alsa-kernel.git for-linus
gitweb interface:
http://git.alsa-project.org/?p=alsa-kernel.git;a=shortlog;h=for-linus
The GNU patch is available at:
ftp://ftp.alsa-project.org/pub/kernel-patches/alsa-git-for-linus-2008-07-14.patch.gz
The following files will be updated:
Documentation/sound/alsa/ALSA-Configuration.txt | 17 +- .../sound/alsa/DocBook/writing-an-alsa-driver.tmpl | 4 +- include/asm-mips/mach-au1x00/au1xxx_psc.h | 8 + include/sound/ad1843.h | 46 + include/sound/control.h | 3 - include/sound/core.h | 8 +- include/sound/cs4231-regs.h | 8 + include/sound/cs4231.h | 3 + include/sound/emu10k1.h | 1 + include/sound/seq_kernel.h | 2 +- include/sound/soc-dapm.h | 42 +- include/sound/soc.h | 175 ++- include/sound/uda1341.h | 2 - include/sound/version.h | 4 +- sound/Kconfig | 34 +- sound/aoa/Kconfig | 11 +- sound/aoa/codecs/Kconfig | 4 - sound/aoa/fabrics/Kconfig | 1 - sound/aoa/soundbus/Kconfig | 1 - sound/arm/Kconfig | 21 +- sound/arm/sa11xx-uda1341.c | 2 - sound/core/Kconfig | 29 +- sound/core/control.c | 7 +- sound/core/init.c | 67 +- sound/core/memalloc.c | 62 - sound/core/seq/seq_clientmgr.c | 2 +- sound/core/seq/seq_device.c | 6 +- sound/core/sound.c | 8 +- sound/core/timer.c | 6 +- sound/drivers/Kconfig | 91 +- sound/drivers/vx/vx_hwdep.c | 2 +- sound/i2c/cs8427.c | 6 +- sound/i2c/l3/uda1341.c | 2 - sound/isa/Kconfig | 61 +- sound/isa/cs423x/cs4231_lib.c | 118 ++- sound/isa/opti9xx/opti92x-ad1848.c | 1126 +------------- sound/isa/sb/Makefile | 2 - sound/isa/wavefront/wavefront_synth.c | 2 +- sound/mips/Kconfig | 27 +- sound/mips/Makefile | 4 + sound/mips/ad1843.c | 561 +++++++ sound/mips/hal2.c | 947 ++++++++++++ sound/mips/hal2.h | 245 +++ sound/mips/sgio2audio.c | 1006 ++++++++++++ sound/oss/Kconfig | 49 +- sound/oss/dmasound/dmasound_core.c | 7 +- sound/oss/dmasound/dmasound_paula.c | 2 +- sound/oss/dmasound/dmasound_q40.c | 2 +- sound/oss/msnd.c | 2 - sound/oss/msnd.h | 2 - sound/oss/msnd_classic.h | 2 - sound/oss/msnd_pinnacle.c | 5 - sound/oss/msnd_pinnacle.h | 2 - sound/parisc/Kconfig | 13 +- sound/pci/Kconfig | 104 +-- sound/pci/Makefile | 2 +- sound/pci/ac97/Makefile | 12 +- sound/pci/ac97/ac97_codec.c | 11 +- sound/pci/ac97/ac97_patch.c | 81 +- sound/pci/{ac97 => }/ak4531_codec.c | 34 +- sound/pci/au88x0/au88x0_game.c | 2 - sound/pci/azt3328.c | 1235 ++++++++++----- sound/pci/azt3328.h | 207 +++- sound/pci/ca0106/ca0106_main.c | 5 + sound/pci/emu10k1/emu10k1_main.c | 1 + sound/pci/emu10k1/emumixer.c | 13 +- sound/pci/emu10k1/memory.c | 69 +- sound/pci/hda/hda_codec.c | 2 +- sound/pci/hda/hda_codec.h | 2 +- sound/pci/hda/hda_hwdep.c | 2 +- sound/pci/hda/hda_intel.c | 306 +++- sound/pci/hda/hda_proc.c | 5 +- sound/pci/hda/patch_analog.c | 38 +- sound/pci/hda/patch_conexant.c | 33 +- sound/pci/hda/patch_realtek.c | 548 +++++++- sound/pci/hda/patch_sigmatel.c | 71 +- sound/pci/ice1712/envy24ht.h | 10 +- sound/pci/ice1712/ice1712.h | 2 + sound/pci/ice1712/ice1724.c | 213 ++- sound/pci/maestro3.c | 42 +- sound/pci/nm256/nm256.c | 4 +- sound/pci/oxygen/hifier.c | 33 +- sound/pci/oxygen/oxygen.c | 76 +- sound/pci/oxygen/oxygen.h | 14 + sound/pci/oxygen/oxygen_io.c | 22 +- sound/pci/oxygen/oxygen_lib.c | 106 ++- sound/pci/oxygen/oxygen_pcm.c | 53 +- sound/pci/oxygen/virtuoso.c | 252 ++-- sound/pci/pcxhr/pcxhr.c | 4 +- sound/pci/pcxhr/pcxhr_core.c | 18 +- sound/pci/trident/trident_main.c | 5 +- sound/pci/trident/trident_memory.c | 178 --- sound/pci/via82xx.c | 6 + sound/pci/ymfpci/ymfpci_main.c | 2 + sound/pcmcia/Kconfig | 15 +- sound/pcmcia/vx/vxp_ops.c | 2 +- sound/ppc/Kconfig | 26 +- sound/ppc/daca.c | 2 - sound/ppc/tumbler.c | 2 - sound/sh/Kconfig | 16 +- sound/soc/Kconfig | 19 +- sound/soc/Makefile | 3 +- sound/soc/at32/Kconfig | 34 + sound/soc/at32/Makefile | 11 + sound/soc/at32/at32-pcm.c | 491 ++++++ sound/soc/at32/at32-pcm.h | 79 + sound/soc/at32/at32-ssc.c | 849 ++++++++++ sound/soc/at32/at32-ssc.h | 59 + sound/soc/at32/playpaq_wm8510.c | 522 +++++++ sound/soc/at91/Kconfig | 2 +- sound/soc/at91/at91-pcm.c | 6 +- sound/soc/at91/at91-ssc.c | 12 +- sound/soc/at91/at91-ssc.h | 2 +- sound/soc/at91/eti_b1_wm8731.c | 53 +- sound/soc/au1x/Kconfig | 32 + sound/soc/au1x/Makefile | 13 + sound/soc/au1x/dbdma2.c | 421 +++++ sound/soc/au1x/psc-ac97.c | 387 +++++ sound/soc/au1x/psc-i2s.c | 414 +++++ sound/soc/au1x/psc.h | 53 + sound/soc/au1x/sample-ac97.c | 144 ++ sound/soc/codecs/Kconfig | 22 +- sound/soc/codecs/Makefile | 8 + sound/soc/codecs/ac97.c | 31 +- sound/soc/codecs/ac97.h | 2 +- sound/soc/codecs/ak4535.c | 696 +++++++++ sound/soc/codecs/ak4535.h | 46 + sound/soc/codecs/cs4270.c | 8 +- sound/soc/codecs/cs4270.h | 2 +- sound/soc/codecs/tlv320aic3x.c | 384 +++-- sound/soc/codecs/tlv320aic3x.h | 55 +- sound/soc/codecs/uda1380.c | 852 ++++++++++ sound/soc/codecs/uda1380.h | 89 ++ sound/soc/codecs/wm8510.c | 817 ++++++++++ sound/soc/codecs/wm8510.h | 103 ++ sound/soc/codecs/wm8731.c | 79 +- sound/soc/codecs/wm8731.h | 2 +- sound/soc/codecs/wm8750.c | 87 +- sound/soc/codecs/wm8750.h | 2 +- sound/soc/codecs/wm8753.c | 183 ++-- sound/soc/codecs/wm8753.h | 2 +- sound/soc/codecs/wm8990.c | 1626 ++++++++++++++++++++ sound/soc/codecs/wm8990.h | 832 ++++++++++ sound/soc/codecs/wm9712.c | 53 +- sound/soc/codecs/wm9712.h | 2 +- sound/soc/codecs/wm9713.c | 79 +- sound/soc/codecs/wm9713.h | 2 +- sound/soc/davinci/Kconfig | 2 +- sound/soc/davinci/davinci-evm.c | 40 +- sound/soc/davinci/davinci-i2s.c | 16 +- sound/soc/davinci/davinci-i2s.h | 2 +- sound/soc/davinci/davinci-pcm.c | 2 +- sound/soc/fsl/Kconfig | 6 +- sound/soc/fsl/fsl_dma.c | 2 +- sound/soc/fsl/fsl_dma.h | 2 +- sound/soc/fsl/fsl_ssi.c | 24 +- sound/soc/fsl/fsl_ssi.h | 4 +- sound/soc/fsl/mpc8610_hpcd.c | 72 +- sound/soc/omap/Kconfig | 4 - sound/soc/omap/n810.c | 106 +- sound/soc/omap/omap-mcbsp.c | 16 +- sound/soc/omap/omap-mcbsp.h | 2 +- sound/soc/omap/omap-pcm.c | 2 +- sound/soc/pxa/Kconfig | 11 +- sound/soc/pxa/Makefile | 3 +- sound/soc/pxa/corgi.c | 70 +- sound/soc/pxa/em-x270.c | 102 ++ sound/soc/pxa/poodle.c | 50 +- sound/soc/pxa/pxa2xx-ac97.c | 18 +- sound/soc/pxa/pxa2xx-ac97.h | 2 +- sound/soc/pxa/pxa2xx-i2s.c | 17 +- sound/soc/pxa/pxa2xx-i2s.h | 2 +- sound/soc/pxa/pxa2xx-pcm.c | 2 +- sound/soc/pxa/spitz.c | 91 +- sound/soc/pxa/tosa.c | 47 +- sound/soc/s3c24xx/Kconfig | 4 +- sound/soc/s3c24xx/neo1973_wm8753.c | 237 ++-- sound/soc/s3c24xx/s3c2412-i2s.c | 15 +- sound/soc/s3c24xx/s3c2412-i2s.h | 2 +- sound/soc/s3c24xx/s3c2443-ac97.c | 15 +- sound/soc/s3c24xx/s3c24xx-ac97.h | 2 +- sound/soc/s3c24xx/s3c24xx-i2s.c | 25 +- sound/soc/s3c24xx/s3c24xx-i2s.h | 2 +- sound/soc/s3c24xx/s3c24xx-pcm.c | 6 +- sound/soc/s3c24xx/smdk2443_wm9710.c | 3 - sound/soc/sh/Kconfig | 5 +- sound/soc/sh/dma-sh7760.c | 2 +- sound/soc/sh/hac.c | 2 +- sound/soc/sh/sh7760-ac97.c | 4 +- sound/soc/sh/ssi.c | 8 +- sound/soc/soc-core.c | 443 ++++-- sound/soc/soc-dapm.c | 344 ++++- sound/sparc/Kconfig | 17 +- sound/sparc/dbri.c | 2 +- sound/spi/Kconfig | 13 +- sound/usb/Kconfig | 16 +- sound/usb/caiaq/caiaq-audio.c | 1 + sound/usb/caiaq/caiaq-device.c | 12 +- sound/usb/caiaq/caiaq-device.h | 1 + sound/usb/usbaudio.c | 4 - sound/usb/usbquirks.h | 38 + 201 files changed, 16473 insertions(+), 3893 deletions(-) rename sound/pci/{ac97 => }/ak4531_codec.c (96%)
Adrian Bunk (6): [ALSA] remove CVS keywords sound: sound/oss/: remove CVS keywords [ALSA] remove SND_GUS_SYNTH [ALSA] usbaudio.c: remove #ifndef CONFIG_USB_EHCI_SPLIT_ISO code ALSA: make sparc/dbri.c:snd_dbri_proc() static sound: sound/oss/dmasound/: cleanups
Akio Idehara (1): [ALSA] hda - Add Toshiba dynabook SS RX1 support
Andreas Mohr (2): [ALSA] PCI168 snd-azt3328 Linux driver: another huge update ALSA: PCI168 snd-azt3328: some more fixups
Andy Green (1): ALSA: ASoC: Don't block system resume
Chris Mennie (1): [ALSA] usb-audio - Support for Roland SonicCell sound module
Clemens Ladisch (12): [ALSA] oxygen: fix version in MODULE_LICENSE [ALSA] oxygen: add symbol for I/O space size [ALSA] oxygen: save register writes [ALSA] oxygen: simplify DAC volume initialization [ALSA] oxygen: separate out hardware initialization code [ALSA] virtuoso: add xonar_enable_output() [ALSA] oxygen: add PM support [ALSA] oxygen: add symbols for buffer/period size constraints [ALSA] virtuoso: restrict period time to less than 10 s [ALSA] ice1724: fix MIDI ALSA: usb-audio: fix Yamaha KX quirk ALSA: usb-audio: add some Yamaha USB MIDI quirks
Daniel Jacobowitz (1): [ALSA] ac97 - Add virtual master control to VT1616/VT1617A codec.
Daniel Mack (3): [ALSA] soc - tlv320aic3x - revisit clock setup [ALSA] soc - tlv320aic3x - add GPIO support [ALSA] snd_usb_caiaq: add support for 'Session I/O' interface
David Howells (2): ALSA: Fix a const pointer usage warning in the Digigram VX soundcard driver ALSA: Fix a const to non-const assignment in the Digigram VXpocket sound driver
Dmitry Baryshkov (2): ALSA: tosa: fix compilation with new DAPM API ALSA: ASoC: pxa2xx-ac97: fix warning due to missing argument in fuction declaration
Geoffrey Wossum (1): [ALSA] Revised AT32 ASoC Patch
Graeme Gregory (1): [ALSA] soc - DAPM - add hook to read state of DAPM widget
Harvey Harrison (2): [ALSA] i2c: cs8427.c use put_unaligned helper alsa: add annotations to bitwise type snd_pcm_hw_param_t
Jarkko Nikula (8): [ALSA] ASoC: Convert N810 machine driver to use gpiolib ALSA: ASoC: Cover also Nokia N810 WiMAX Edition in N810 machine driver ALSA: ASoC: Add support for generic DAPM register modifier widget ALSA: ASoC: TLV320AIC3X: Use register modifier widget for mic bias ALSA: ASoC: TLV320AIC3X: Modify only interface related bits in aic3x_set_dai_fmt ALSA: ASoC: TLV320AIC3X: Add support for digital microphone input ALSA: ASoC: Add digital mic configuration to N810 machine driver ALSA: ASoC: TLV320AIC3X: Add mixer control for ADC highpass filter
Jaroslav Kysela (8): ALSA: Release v1.0.17rc1 ALSA: Release 1.0.17rc2 ALSA: Remove duplicate MODULE_AUTHOR/DESCRIPTION/LICENCE from snd-ens1370.ko ALSA: emu10k1 - fix possible memory leak in memory allocation routines [ALSA] Revert "alsa: add annotations to bitwise type snd_pcm_hw_param_t" ALSA: Release v1.0.17rc3 ALSA: HDA - HP dc7600 with pci sub IDs 0x103c/0x3011 belongs to hp-3013 model ALSA: Release v1.0.17
Jiang zhe (1): [ALSA] hda - support intel DG33 motherboards
Johannes Berg (1): ALSA: remove CONFIG_KMOD from sound
Juergen Beisert (1): [ALSA] ac97: add support for wm9711 master left inv switch
Kailang Yang (6): [ALSA] hda - Add support of Teradici controller [ALSA] hda - Add ICH9 controller support (8086:2911) [ALSA] hda - Add ALC663 support [ALSA] hda - Fix vref pincap check in alc882 auto-detection [ALSA] hda - show correct codec chip in PCM stream names [ALSA] hda - Fix EAPD and COEF setups for realtek codecs
Krzysztof Helt (3): [ALSA] opti93x: fix sound ouput for Opti930 ALSA: opti93x: add support for Opti93x codec in cs4231-lib ALSA: opti93x: use cs4231 lib
Liam Girdwood (16): ALSA: asoc: core - refactored DAPM pin control API. ALSA: asoc: core - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. ALSA: asoc: at32 - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. ALSA: asoc: at91 - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. ALSA: asoc: davinci - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. ALSA: asoc: codecs - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. ALSA: asoc: fsl - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. ALSA: asoc: omap - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. ALSA: asoc: pxa - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. ALSA: asoc: s3c24xx - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. ALSA: asoc: sh - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. ALSA: asoc: core - add Digital Audio Interface (DAI) control functions. ALSA: asoc: machines - add Digital Audio Interface (DAI) control functions. ALSA: asoc: n810 - fix build error. ALSA: asoc: at32 - DAI struct merge and enable_pin() change. ALSA: asoc: kbuild - only show menus for the current ASoC CPU platform.
Manuel Lauss (2): ALSA: ASoC: AC97 codec PM ALSA: ASoC: Au12x0/Au1550 PSC Audio support
Mark Brown (30): [ALSA] soc - DAPM - Add bulk control registration [ALSA] soc - DAPM - Bulk route registration [ALSA] soc - tlv320aic3x - Convert to use bulk registration APIs [ALSA] soc - Zaurus - Convert to bulk DAPM registration APIs [ALSA] soc - eti_b1_wm8731 - Convert to use bulk DAPM control registration [ALSA] soc - neo1973_wm8753 - Convert to bulk DAPM registration APIs [ALSA] soc - davinci-evm - Update for bulk DAPM registration APIs [ALSA] soc - n810 - Update for bulk DAPM registration APIs [ALSA] ASoC: Remove in-code changelogs [ALSA] ASoC: Make CPU and codec DAI operations have same type [ALSA] ASoC: Clarify API for bias configuration [ALSA] ASoC: core checkpatch cleanups [ALSA] soc - Convert Wolfson codec drivers to use bulk DAPM registration [ALSA] ASoC: Add SOC_DOUBLE_S8_TLV control type [ALSA] ASoC: Add WM8510 driver [ALSA] ASoC: Add WM8990 driver [ALSA] ASoC: Fix default mono mixer configuration for WM8510 ALSA: ASoC: Fix register cache sizes for Wolfson codecs ALSA: ASoC: Fix register cache size for UDA1380 ALSA: ASoC: Tweak tlv320aicx reg_cache_size ALSA: ASoC: Add missing includes ALSA: ASoC: Pass the DAI being configured into CPU DAI probe and remove ALSA: ASoC: Fix WM9713 voice PCM slave mode configuration ALSA: ASoC: Check for exact register match in wm97xx_reset() ALSA: ASoC: Replace custom debug macros with pr_ equivalents ALSA: ASoC: Advertise 16000Hz rate for WM9713 PCM interface ALSA: ASoC: Make pop/click debug wait times dynamically configurable ALSA: ASoC: Fix warning from strict_strtoul() ALSA: ASoC: Switch DAPM to use of standard DEBUG macro ALSA: ASoC: Dump DAPM state for non-stream changes
Matthew Ranostay (3): ALSA: hda: Add support for 92HD73xxx codecs ALSA: hda - removed redundant gpio_mask ALSA: hda: 92hd71bxx PC Beep
Mike Montour (3): ALSA: ASoC: Add TLV information to remaining WM8753 controls ALSA: ASoC: Add SOC_SINGLE_EXT_TLV control type ALSA: ASoC: Add TLV information to the LM4857 controls on the GTA01
Mike Rapoport (2): [ALSA] Add EM-X270 ASoC driver ALSA: ac97 - fix patch_ucb1400 for proper resume
Milton Miller (1): ALSA: correct kcalloc usage
Philipp Zabel (1): [ALSA] ASoC: Add UDA1380 driver
Pierre Ossman (1): ALSA: trident - pause s/pdif output
Randy Dunlap (1): ALSA: ASoC: fix PM=n build
Richard Chan (1): ALSA: Add Yamaha KX49 (USB MIDI controller) to usbquirks.h
Richard Purdie (1): ALSA: ASoC: Add AK4535 driver
Stephen Rothwell (1): [ALSA] sound: fix export symbol typo
Takashi Iwai (44): [ALSA] Remove unneeded ugly hack for i386 in memalloc.c [ALSA] hda - Fix DMA position inaccuracy sound: Convert to menuconfig [ALSA] Fix AC97 kconfig items [ALSA] Replace CONFIG_SND_DEBUG_DETECT with CONFIG_SND_DEBUG_VERBOSE [ALSA] Improve the slots option handling [ALSA] Clean up sound/pci/ac97/Makefile [ALSA] Make ak4531 local to ens1370 driver [ALSA] trident - clean up obsolete synth codes sound: Clean up sound/oss/Kconfig [ALSA] trivial clean up of sound/isa/sb/Makefile [ALSA] emu10k1 - simplify page allocation for synth [ALSA] emu10k1 - Fix inverted Analog/Digital mixer switch on Audigy2 [ALSA] hda - Fix PLL gating control on Realtek codecs [ALSA] hda - increase max_codecs of ICH to 4 [ALSA] ac97 - Fix power_save option value as time-out ALSA: emu10k1 - Fix page allocation with GFP_DMA ALSA: hda - Add bdl_pos_adj option ALSA: hda - remove position_fix=3 ALSA: hda - bdl_pos_adj option to each instance ALSA: hda - Fix bdl_pos_adj value for ATI SB chipsets ALSA: hda - Add description of bdl_pos_adj option ALSA: hda - Add a warning if pending IRQ is found ALSA: hda - Fix stac9205_cfg_tbl ALSA: hda - Remove unused mutex ALSA: make snd_ctl_elem_read() and snd_ctl_elem_write() static ALSA: hda - bdl_pos_adj=32 as default ALSA: hda - use upper_32_bits() ALSA: emu10k1 - simplify the last fix ALSA: hda - Fix wrong volumes in AD1988 auto-probe mode ALSA: ca0106 - Add entry for another MSI K8N Diamond MB ALSA: hda - Fix digital converter proc output ALSA: hda - Add MacBook 3.1 support ALSA: ymfpci - fix initial volume for 44.1kHz output ALSA: hda - disable amp override on non-HP machines ALSA: Fix AC97 power down ALSA: ALSA: hda - Fix ALC883 medion model ALSA: hda - Add missing Thinkpad Z60m support ALSA: ALSA: hda - Fix speaker output on Toshiba P105 ALSA: hda - Add support for Lenovo 3000 N200 ALSA: wavefront - add const ALSA: hda - Fix internal mic vref pin setup ALSA: hda - Fix missing init for unsol events on micsense model ALSA: hda - Fix FSC V5505 model
Thomas Bogendoerfer (2): ALSA: ALSA driver for SGI HAL2 audio device ALSA: ALSA driver for SGI O2 audio board
Tim Niemeyer (1): [ALSA] soc - Patch to add debug messages to the neo1973_wm8753 (GTA01) sound driver
Timur Tabi (1): ALSA: Fix register programming in Freescale MPC8610 HPCD sound driver
Travis Place (2): ALSA: hda - Added model selection for iMac 24" ALSA: hda - Added SSID for 'Fujitsu Siemens Amilo M1451G' laptop
Ville Syrjälä (1): [ALSA] maestro3: Fix hw volume on HP OmniBook
Walter Sheets (1): ALSA: via82xx - Add VIA audio device #1841 to ac97_quirk list
Werner Almesberger (1): [ALSA] soc - Fix s3c24xx-i2s LR sync while timer ticks are disabled
----- Jaroslav Kysela perex@perex.cz Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc.
hi Jaroslav, et al,
* Jaroslav Kysela perex@perex.cz wrote:
ALSA: opti93x: use cs4231 lib
-tip testing found the following bootup crash on latest -git:
[ 44.827459] calling alsa_card_opti9xx_init+0x0/0x20 [ 44.830435] bus: 'isa': add driver opti93x [ 44.833503] device: 'opti93x.0': device_add [ 44.837804] bus: 'isa': add device opti93x.0 [ 44.841820] bus: 'isa': driver_probe_device: matched device opti93x.0 with driver opti93x [ 44.845327] bus: 'isa': really_probe: probing driver opti93x with device opti93x.0 [ 44.851601] BUG: unable to handle kernel NULL pointer dereference at 00000010 [ 44.855329] IP: [<786c0782>] snd_card_opti9xx_free+0x12/0x40 [ 44.859370] *pde = 00000000 [ 44.862651] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC [ 44.862651] [ 44.862651] Pid: 1, comm: swapper Not tainted (2.6.26-00085-g9f240a5-dirty #20182) [ 44.862651] EIP: 0060:[<786c0782>] EFLAGS: 00010286 CPU: 0 [ 44.862651] EIP is at snd_card_opti9xx_free+0x12/0x40 [ 44.862651] EAX: 96892000 EBX: 00000000 ECX: 96892140 EDX: 786c0770 [ 44.862651] ESI: 9689229c EDI: 9689229c EBP: 9782fe10 ESP: 9782fe08 [ 44.862651] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 44.862651] Process swapper (pid: 1, ti=9782f000 task=97848000 task.ti=9782f000) [ 44.862651] Stack: 96892000 00000286 9782fe1c 786a2b5b 96892000 9782fe48 786a349d 00000000 [ 44.862651] 00000286 78b34028 9688a100 00000286 9689229c fffff000 00000286 9689229c [ 44.862651] 9782fe84 787f4b18 968922c0 9689229f 9688dc00 96892000 00000004 00000000 [ 44.862651] Call Trace: [ 44.862651] [<786a2b5b>] ? snd_card_do_free+0x4b/0x120 [ 44.862651] [<786a349d>] ? snd_card_free+0x7d/0x90 [ 44.862651] [<787f4b18>] ? snd_opti9xx_isa_probe+0x158/0xa30 [ 44.862651] [<787f49c0>] ? snd_opti9xx_isa_probe+0x0/0xa30 [ 44.862651] [<7832580d>] ? isa_bus_probe+0x1d/0x30 [ 44.862651] [<783229c0>] ? driver_probe_device+0xa0/0x1c0 [ 44.862651] [<78322b58>] ? __device_attach+0x8/0x10 [ 44.862651] [<78321d60>] ? bus_for_each_drv+0x40/0x80 [ 44.862651] [<78322c04>] ? device_attach+0x84/0xa0 [ 44.862651] [<78322b50>] ? __device_attach+0x0/0x10 [ 44.862651] [<78321b97>] ? bus_attach_device+0x47/0x50 [ 44.862651] [<78320877>] ? device_add+0x3a7/0x500 [ 44.862651] [<783209e2>] ? device_register+0x12/0x20 [ 44.862651] [<783259c2>] ? isa_register_driver+0xa2/0x120 [ 44.862651] [<78153631>] ? ktime_get+0x11/0x30 [ 44.862651] [<78b78852>] ? alsa_card_opti9xx_init+0x12/0x20 [ 44.862651] [<78b3d679>] ? kernel_init+0x1d9/0x300 [ 44.862651] [<78b78840>] ? alsa_card_opti9xx_init+0x0/0x20 [ 44.862651] [<781192ce>] ? syscall_exit+0x8/0x28 [ 44.862651] [<78b3d4a0>] ? kernel_init+0x0/0x300 [ 44.862651] [<78b3d4a0>] ? kernel_init+0x0/0x300 [ 44.862651] [<7811a4e7>] ? kernel_thread_helper+0x7/0x10 [ 44.862651] ======================= [ 44.862651] Code: e8 8b 03 e8 11 e5 a9 ff 8b 03 5b 5d c3 b8 ff ff ff ff 5b 5d c3 8d 74 26 00 55 89 e5 56 53 8b b0 38 01 00 00 85 f6 74 21 8b 5e 1c <8b> 43 10 85 c0 7e 0f e8 32 5a aa ff 8b 43 10 89 da e8 68 5a aa [ 44.862651] EIP: [<786c0782>] snd_card_opti9xx_free+0x12/0x40 SS:ESP 0068:9782fe08 [ 44.866056] Kernel panic - not syncing: Fatal exception
i've bisected it down to:
| 9f240a558f94bea839e14c46c8fccf93bdd35ef6 is first bad commit | commit 9f240a558f94bea839e14c46c8fccf93bdd35ef6 | Author: Krzysztof Helt krzysztof.h1@wp.pl | Date: Wed Jun 11 12:26:32 2008 +0200 | | ALSA: opti93x: use cs4231 lib
The bisection log is:
# bad : [a3cf859f] Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 # good: [bce7f795] Linux 2.6.26 # bad : [d1794f2a] Merge branch 'bkl-removal' of git://git.lwn.net/linux-2.6 # good: [e30a44f3] x86: merge put_user. # bad : [6c118e4c] Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 # bad : [fe0a3fed] ALSA: Release v1.0.17 # bad : [dbac7cbe] ALSA: ASoC: Add missing includes # good: [f2690025] [ALSA] hda - Add support of Teradici controller # good: [f10485eb] [ALSA] ASoC: Add WM8990 driver # good: [0a1b42d5] sound: sound/oss/dmasound/: cleanups # good: [a6a950a4] ALSA: hda - Add a warning if pending IRQ is found # bad : [d751b231] ALSA: ASoC: Fix register cache sizes for Wolfson codecs # bad : [9f240a56] ALSA: opti93x: use cs4231 lib # good: [abf1f5af] ALSA: opti93x: add support for Opti93x codec in cs4231-lib
the patch below is a temporary workaround to keep my tests running.
Can send more info about the system in question - it has ISA (it's an old Pentium-3-Coppermine based laptop) but otherwise it doesnt have opti93x hw so the crash should be reproducible elsewhere as well.
Thanks,
Ingo
--- sound/isa/Kconfig | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/sound/isa/Kconfig b/sound/isa/Kconfig index 5769a13..a63df4f 100644 --- a/sound/isa/Kconfig +++ b/sound/isa/Kconfig @@ -305,6 +305,12 @@ config SND_OPTI93X select SND_OPL3_LIB select SND_MPU401_UART select SND_CS4231_LIB + # + # Crashes on bootup with this config: + # + # http://redhat.com/~mingo/misc/config-Thu_Jul_17_17_54_09_CEST_2008.bad + # + depends on 0 help Say Y here to include support for soundcards based on Opti 82C93x chips.
At Thu, 17 Jul 2008 19:06:57 +0200, Ingo Molnar wrote:
hi Jaroslav, et al,
- Jaroslav Kysela perex@perex.cz wrote:
ALSA: opti93x: use cs4231 lib
-tip testing found the following bootup crash on latest -git:
[ 44.827459] calling alsa_card_opti9xx_init+0x0/0x20 [ 44.830435] bus: 'isa': add driver opti93x [ 44.833503] device: 'opti93x.0': device_add [ 44.837804] bus: 'isa': add device opti93x.0 [ 44.841820] bus: 'isa': driver_probe_device: matched device opti93x.0 with driver opti93x [ 44.845327] bus: 'isa': really_probe: probing driver opti93x with device opti93x.0 [ 44.851601] BUG: unable to handle kernel NULL pointer dereference at 00000010 [ 44.855329] IP: [<786c0782>] snd_card_opti9xx_free+0x12/0x40 [ 44.859370] *pde = 00000000 [ 44.862651] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC [ 44.862651] [ 44.862651] Pid: 1, comm: swapper Not tainted (2.6.26-00085-g9f240a5-dirty #20182) [ 44.862651] EIP: 0060:[<786c0782>] EFLAGS: 00010286 CPU: 0 [ 44.862651] EIP is at snd_card_opti9xx_free+0x12/0x40 [ 44.862651] EAX: 96892000 EBX: 00000000 ECX: 96892140 EDX: 786c0770 [ 44.862651] ESI: 9689229c EDI: 9689229c EBP: 9782fe10 ESP: 9782fe08 [ 44.862651] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 44.862651] Process swapper (pid: 1, ti=9782f000 task=97848000 task.ti=9782f000) [ 44.862651] Stack: 96892000 00000286 9782fe1c 786a2b5b 96892000 9782fe48 786a349d 00000000 [ 44.862651] 00000286 78b34028 9688a100 00000286 9689229c fffff000 00000286 9689229c [ 44.862651] 9782fe84 787f4b18 968922c0 9689229f 9688dc00 96892000 00000004 00000000 [ 44.862651] Call Trace: [ 44.862651] [<786a2b5b>] ? snd_card_do_free+0x4b/0x120 [ 44.862651] [<786a349d>] ? snd_card_free+0x7d/0x90 [ 44.862651] [<787f4b18>] ? snd_opti9xx_isa_probe+0x158/0xa30 [ 44.862651] [<787f49c0>] ? snd_opti9xx_isa_probe+0x0/0xa30 [ 44.862651] [<7832580d>] ? isa_bus_probe+0x1d/0x30 [ 44.862651] [<783229c0>] ? driver_probe_device+0xa0/0x1c0 [ 44.862651] [<78322b58>] ? __device_attach+0x8/0x10 [ 44.862651] [<78321d60>] ? bus_for_each_drv+0x40/0x80 [ 44.862651] [<78322c04>] ? device_attach+0x84/0xa0 [ 44.862651] [<78322b50>] ? __device_attach+0x0/0x10 [ 44.862651] [<78321b97>] ? bus_attach_device+0x47/0x50 [ 44.862651] [<78320877>] ? device_add+0x3a7/0x500 [ 44.862651] [<783209e2>] ? device_register+0x12/0x20 [ 44.862651] [<783259c2>] ? isa_register_driver+0xa2/0x120 [ 44.862651] [<78153631>] ? ktime_get+0x11/0x30 [ 44.862651] [<78b78852>] ? alsa_card_opti9xx_init+0x12/0x20 [ 44.862651] [<78b3d679>] ? kernel_init+0x1d9/0x300 [ 44.862651] [<78b78840>] ? alsa_card_opti9xx_init+0x0/0x20 [ 44.862651] [<781192ce>] ? syscall_exit+0x8/0x28 [ 44.862651] [<78b3d4a0>] ? kernel_init+0x0/0x300 [ 44.862651] [<78b3d4a0>] ? kernel_init+0x0/0x300 [ 44.862651] [<7811a4e7>] ? kernel_thread_helper+0x7/0x10 [ 44.862651] ======================= [ 44.862651] Code: e8 8b 03 e8 11 e5 a9 ff 8b 03 5b 5d c3 b8 ff ff ff ff 5b 5d c3 8d 74 26 00 55 89 e5 56 53 8b b0 38 01 00 00 85 f6 74 21 8b 5e 1c <8b> 43 10 85 c0 7e 0f e8 32 5a aa ff 8b 43 10 89 da e8 68 5a aa [ 44.862651] EIP: [<786c0782>] snd_card_opti9xx_free+0x12/0x40 SS:ESP 0068:9782fe08 [ 44.866056] Kernel panic - not syncing: Fatal exception
i've bisected it down to:
| 9f240a558f94bea839e14c46c8fccf93bdd35ef6 is first bad commit | commit 9f240a558f94bea839e14c46c8fccf93bdd35ef6 | Author: Krzysztof Helt <krzysztof.h1@wp.pl> | Date: Wed Jun 11 12:26:32 2008 +0200 | | ALSA: opti93x: use cs4231 lib
The bisection log is:
# bad : [a3cf859f] Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 # good: [bce7f795] Linux 2.6.26 # bad : [d1794f2a] Merge branch 'bkl-removal' of git://git.lwn.net/linux-2.6 # good: [e30a44f3] x86: merge put_user. # bad : [6c118e4c] Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 # bad : [fe0a3fed] ALSA: Release v1.0.17 # bad : [dbac7cbe] ALSA: ASoC: Add missing includes # good: [f2690025] [ALSA] hda - Add support of Teradici controller # good: [f10485eb] [ALSA] ASoC: Add WM8990 driver # good: [0a1b42d5] sound: sound/oss/dmasound/: cleanups # good: [a6a950a4] ALSA: hda - Add a warning if pending IRQ is found # bad : [d751b231] ALSA: ASoC: Fix register cache sizes for Wolfson codecs # bad : [9f240a56] ALSA: opti93x: use cs4231 lib # good: [abf1f5af] ALSA: opti93x: add support for Opti93x codec in cs4231-lib
the patch below is a temporary workaround to keep my tests running.
Can send more info about the system in question - it has ISA (it's an old Pentium-3-Coppermine based laptop) but otherwise it doesnt have opti93x hw so the crash should be reproducible elsewhere as well.
Could you try the patch below?
thanks,
Takashi
--- diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c index 41c047e..d20abb2 100644 --- a/sound/isa/opti9xx/opti92x-ad1848.c +++ b/sound/isa/opti9xx/opti92x-ad1848.c @@ -688,7 +688,7 @@ static void snd_card_opti9xx_free(struct snd_card *card) if (chip) { #ifdef OPTi93X struct snd_cs4231 *codec = chip->codec; - if (codec->irq > 0) { + if (codec && codec->irq > 0) { disable_irq(codec->irq); free_irq(codec->irq, codec); }
On 17-07-08 20:40, Takashi Iwai wrote:
Could you try the patch below?
No, please hang on, it's much simpler. Above commit isn't actually itself guilty. Have a patch ready, but am testing a bit.
Rene.
On 17-07-08 21:20, Rene Herman wrote:
On 17-07-08 20:40, Takashi Iwai wrote:
Could you try the patch below?
No, please hang on, it's much simpler. Above commit isn't actually itself guilty. Have a patch ready, but am testing a bit.
I retract that. Your patch should fix things.
I would like to place something on top to make the init isa/pnp choice look more generic but I'll submit that tomorrow.
Rene.
On 17-07-08 21:38, Rene Herman wrote:
On 17-07-08 21:20, Rene Herman wrote:
On 17-07-08 20:40, Takashi Iwai wrote:
Could you try the patch below?
No, please hang on, it's much simpler. Above commit isn't actually itself guilty. Have a patch ready, but am testing a bit.
I retract that. Your patch should fix things.
It does. Acked/Tested-by: Rene Herman rene.herman@gmail.com
I would like to place something on top to make the init isa/pnp choice look more generic but I'll submit that tomorrow.
This bug was uncovered by !CONFIG_PNP and we had trouble in this driver due to that before so was rewriting the init to be a generic multi-card ALSA init but, actually, not much point.
The hardware fundamentally doesn't support more than one card per system due to the fixed chip->mc_base and the bug was in this case not _caused_ but only uncovered by !CONFIG_PNP (it triggers for CONFIG_PNP after supplying "isapnp=0" as a module param) so I'll just wait for the next time this ifdeffed together mess breaks on !CONFIG_PNP to make the init look generic ;-)
In fact, in the meantime I'll look at splitting 92x and 93x again. It's much better now that Krzysztof made it use the generic library code but I still hate this driver. It's also poking at ports without being told something is there by either system or user.
Trivial remainder of init rewrite that's still applicable:
Rene.
On Fri, 18 Jul 2008 11:19:19 +0200 Rene Herman rene.herman@keyaccess.nl wrote:
On 17-07-08 21:38, Rene Herman wrote:
On 17-07-08 21:20, Rene Herman wrote:
On 17-07-08 20:40, Takashi Iwai wrote:
Could you try the patch below?
This bug was uncovered by !CONFIG_PNP and we had trouble in this driver due to that before so was rewriting the init to be a generic multi-card ALSA init but, actually, not much point.
The bug was introduced by the patch as it used (tried to free) the codec pointer before it was assigned any value. It happened only if the card was missing and I didn't test the driver on such a configuration. My mistake. The CONFIG_PNP setting makes no difference.
In fact, in the meantime I'll look at splitting 92x and 93x again. It's much better now that Krzysztof made it use the generic library code but I still hate this driver. It's also poking at ports without being told something is there by either system or user.
Please hold your axe until Monday. The last patch (not posted yet) from the unification of the WSS library series removes some ifdefs in this driver. This may (or may not) change your view on splitting the driver.
Regards, Krzysztof
---------------------------------------------------------------------- Zobacz cala prawde o Lukaszu Podolskim! kliknij >>> http://link.interia.pl/f1e57
On 18-07-08 14:28, Krzysztof Helt wrote:
On Fri, 18 Jul 2008 11:19:19 +0200 Rene Herman rene.herman@keyaccess.nl wrote:
On 17-07-08 21:38, Rene Herman wrote:
On 17-07-08 21:20, Rene Herman wrote:
On 17-07-08 20:40, Takashi Iwai wrote:
Could you try the patch below?
This bug was uncovered by !CONFIG_PNP and we had trouble in this driver due to that before so was rewriting the init to be a generic multi-card ALSA init but, actually, not much point.
The bug was introduced by the patch as it used (tried to free) the codec pointer before it was assigned any value. It happened only if the card was missing and I didn't test the driver on such a configuration. My mistake. The CONFIG_PNP setting makes no difference.
Yes it does. Note how the ISA match method fails due to "if (isapnp)" with CONFIG_PNP and isapnp being initialized to 1. I did test without the hardware but didn't see it fail due to that.
In fact, in the meantime I'll look at splitting 92x and 93x again. It's much better now that Krzysztof made it use the generic library code but I still hate this driver. It's also poking at ports without being told something is there by either system or user.
Please hold your axe until Monday. The last patch (not posted yet) from the unification of the WSS library series removes some ifdefs in this driver. This may (or may not) change your view on splitting the driver.
Will do.
Rene.
On 18-07-08 14:36, Rene Herman wrote:
On 18-07-08 14:28, Krzysztof Helt wrote:
On Fri, 18 Jul 2008 11:19:19 +0200 Rene Herman rene.herman@keyaccess.nl wrote:
On 17-07-08 21:38, Rene Herman wrote:
On 17-07-08 21:20, Rene Herman wrote:
On 17-07-08 20:40, Takashi Iwai wrote:
Could you try the patch below?
This bug was uncovered by !CONFIG_PNP and we had trouble in this driver due to that before so was rewriting the init to be a generic multi-card ALSA init but, actually, not much point.
The bug was introduced by the patch as it used (tried to free) the codec pointer before it was assigned any value. It happened only if the card was missing and I didn't test the driver on such a configuration. My mistake. The CONFIG_PNP setting makes no difference.
Yes it does. Note how the ISA match method fails due to "if (isapnp)" with CONFIG_PNP and isapnp being initialized to 1. I did test without the hardware but didn't see it fail due to that.
(but please note, yes, "uncovered", not "caused". the bug was indeed in this commit and was fixed by Takashi).
Rene.
* Rene Herman rene.herman@keyaccess.nl wrote:
On 17-07-08 21:38, Rene Herman wrote:
On 17-07-08 21:20, Rene Herman wrote:
On 17-07-08 20:40, Takashi Iwai wrote:
Could you try the patch below?
No, please hang on, it's much simpler. Above commit isn't actually itself guilty. Have a patch ready, but am testing a bit.
I retract that. Your patch should fix things.
It does. Acked/Tested-by: Rene Herman rene.herman@gmail.com
box survived dozens of reboots so the fix from yesterday indeed did the trick.
thanks,
Ingo
* Takashi Iwai tiwai@suse.de wrote:
Can send more info about the system in question - it has ISA (it's an old Pentium-3-Coppermine based laptop) but otherwise it doesnt have opti93x hw so the crash should be reproducible elsewhere as well.
Could you try the patch below?
yeah, looks like it should fix the issue. Please consider this bug:
Tested-by: Ingo Molnar mingo@elte.hu Acked-by: Ingo Molnar mingo@elte.hu
unless i mail about a new crash in the next 24 hours. I've queued up your fix for testing. (and have removed the revert from the test setup)
Ingo
On Mon, Jul 14, 2008 at 11:09 AM, Jaroslav Kysela perex@perex.cz wrote:
ALSA: hda - Added model selection for iMac 24"
This commit introduces a regression from 2.6.26 on my MacBookPro 3,1. I lose the "Front" mixer entry but this I don't mind. The actual regression is that when I plug headphones, the internal speakers are not muted anymore so I hear the sound from both outputs (headphones & internal). Reverting this commit fixes the problem for me.
Thanks.
commit 3e0e469fa216ec70c93b1593821b759d19ee2e6b Author: Travis Place wishie@wishie.net Date: Fri Jun 20 16:51:45 2008 +0200
ALSA: hda - Added model selection for iMac 24"
Added the SSID of a known iMac 24" to automatically use ALC885_IMAC24 quirk.
Signed-off-by: Travis Place wishie@wishie.net Signed-off-by: Takashi Iwai tiwai@suse.de Signed-off-by: Jaroslav Kysela perex@perex.cz
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 61f8c13..d96a876 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -6192,6 +6192,7 @@ static struct snd_pci_quirk alc882_cfg_tbl[] = { SND_PCI_QUIRK(0x1043, 0x817f, "Asus P5LD2", ALC882_6ST_DIG), SND_PCI_QUIRK(0x1043, 0x81d8, "Asus P5WD", ALC882_6ST_DIG), SND_PCI_QUIRK(0x105b, 0x6668, "Foxconn", ALC882_6ST_DIG), + SND_PCI_QUIRK(0x106b, 0x00a0, "Apple iMac 24''", ALC885_IMAC24), SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte P35 DS3R", ALC882_6ST_DIG), SND_PCI_QUIRK(0x1462, 0x28fb, "Targa T8", ALC882_TARGA), /* MSI-1049 T8 */ SND_PCI_QUIRK(0x1462, 0x6668, "MSI", ALC882_6ST_DIG),
At Sun, 24 Aug 2008 23:30:08 +0200, Guillaume Chazarain wrote:
On Mon, Jul 14, 2008 at 11:09 AM, Jaroslav Kysela perex@perex.cz wrote:
ALSA: hda - Added model selection for iMac 24"
This commit introduces a regression from 2.6.26 on my MacBookPro 3,1. I lose the "Front" mixer entry but this I don't mind. The actual regression is that when I plug headphones, the internal speakers are not muted anymore so I hear the sound from both outputs (headphones & internal). Reverting this commit fixes the problem for me.
OK, this must be a conflict of PCI SSID. Apple seems to assign the same PCI SSID for completely different models.
I guess it's fixed as well by passing model=auto?
Anyway, please run alsa-info.sh with --no-upload option, and attach the generated file. The script is found in http://www.alsa-project.org/alsa-info.sh
thanks,
Takashi
participants (6)
-
Guillaume Chazarain
-
Ingo Molnar
-
Jaroslav Kysela
-
Krzysztof Helt
-
Rene Herman
-
Takashi Iwai