Detailed changelog between 1.0.11rc3 and 1.0.11rc4 releases

+ Sound Core
- Summary: Fix confliction of autoconf.h
Fix confliction of autoconf.h in kernel source tree and the one defined
in alsa-driver tree.
- Summary: Another build fixes
Another build fixes, CONFIG_SOUND=m unconditionally.
- Summary: Change autoconf requirement to 2.59
Change AC_PREREQ to 2.59.
- Summary: release 1.0.11rc4
+ ALSA Core
- Summary: Add in_atomic() wrapper for older kernels
Add in_atomic() wrapper for older kernels.
- Summary: return ENODEV for disconnected devices
Add dummy functions that return -ENODEV for the struct file_operations
of a disconnected device. Without such functions, userspace would get
ENOTTY.
- Summary: sound/core/: fix 3 off-by-one errors
This patch fixes three off-by-one errors found by the Coverity checker.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
+ Control Midlevel
- Summary: Fix snd-usb-audio in 32-bit compat environment
I'm getting oopses with snd-usb-audio in 32-bit compat environments:
control_compat.c:get_ctl_type() doesn't initialize 'info', so
'itemlist[uinfo->value.enumerated.item]' in
usbmixer.c:mixer_ctl_selector_info() might access random memory (The 'if
((int)uinfo->value.enumerated.item >= cval->max)' doesn't fix all problems
because of the unsigned -> signed conversion.)
Signed-off-by: Juergen Kreileder <jk@blackdown.de>
- Summary: Fix error paths in snd_ctl_elem_add()
Fix bugs in error paths of snd_ctl_elem_add()
- NULL reference
- double free (already freed in snd_ctl_add())
- Summary: make control.c suspend aware
This patch prevents user-space apps from accessing the hardware via
control interface while the soundcard is suspended.
Signed-off-by: Giuliano Pochini <pochini@shiny.it>
- Summary: Fix memory leaks in error path of control.c
Fix memory leaks in error path of control.c (only with CONFIG_SND_DEBUG=y).
+ PCM Midlevel
- Summary: pcm - Move PAUSE ioctl to common ioctl handler
Moved PAUSE ioctl to the common ioctl handler.
A capture stream may issue PAUSE, too.
+ AC97 Codec
- Summary: ac97 - Add support of static resolution tables
Added the support of static resolution table support for codecs
that the driver cannot probe the volume resolution properly.
The table pointer should be set in each codec patch.
- Summary: ac97 - Added a codec patch for LM4550
From: Charl Coetzee <ccoetzee@interalia.ca>
Added a codec patch for LM4550. It sets up a static volume resolution
table.
- Summary: ac97 - Remove duplicated entry in lm4550_restbl
Removed the duplicated entry in lm4550_restbl.
- Summary: ac97 - Allow drivers to set static volume resolution table
Add the pointer to a static volume resolution table to ac97 template,
so that the drivers can define the volume resolution, too.
- Summary: ac97 - Clean up obsolete workarounds
Clean up obsolete workarounds provided only for nm256.
+ AD1816A driver
- Summary: ad1816a - Fix PCM trigger direction
From: Ken Arromdee <arromdee@rahul.net>
Fixed the bug of capture with Shark Predator ISA resulting in:
arecord: pcm_read:1196: read error: Input/output error
+ AD1848 driver
- Summary: ad1848 double free
Same again, snd_ctl_add() already kfree's on error.
Coverity #956
Signed-off-by: Dave Jones <davej@redhat.com>
+ ALSA Version
- Summary: release 1.0.11rc4
+ ALSA sequencer
- Summary: Fix sleep in atomic in virmidi driver
Debug: sleeping function called from invalid context at /usr/src/linux/include/linux/rwsem.h:43
in_atomic():1, irqs_disabled():0
[<f999d15e>] snd_seq_deliver_event+0xb4/0x1a8 [snd_seq]
[<f999d2be>] snd_seq_kernel_client_dispatch+0x6c/0x7c [snd_seq]
[<f93321fc>] snd_virmidi_output_trigger+0xca/0xe5 [snd_seq_virmidi]
- Summary: Fix seq_clientmgr dereferences before NULL check
cptr->pool must be non-NULL there, so just the if (cptr->pool) is
superfluous. Thanks Takashi.
Signed-off-by: Eugene Teo <eugene.teo@eugeneteo.net>
+ ARM AACI PL041 driver
- Summary: Fix the FIFO size detection
Patch from Catalin Marinas
AACI reports TX FIFO full after the first write to it if the AC97 is not
enabled. This patch enables the AC97 probing before the check for the TX
FIFO size. The patch also adds a warning if the TX FIFO size is not
multiple of 16.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+ BT87x driver
- Summary: bt848 - added Leadtek Winfast tv 2000xp delux to whitelist
- added 0x107d:0x6606 to whitelist
- print also the pci device ID for developers when model is not known
- Summary: bt87x: add more DVB card IDs
Add more PCI subsystem IDs of DVB cards to the blacklist of cards the
driver is to ignore.
+ CREDITS file
- Summary: sync with recent 2.6
+ CS4236+ driver
- Summary: cs4236 - Fix wrong initialization of MPU401 PnP
From: Rene Herman <rene.herman@keyaccess.nl>
I noticed on 2.6.16-rc4 that my MPU-401 wasn't functional, due to a
simple copy & paste error in sound/isa/cs423x/cs4236.c.
- Summary: cs4236 - Fix a typo
Fixed a typo in snd_cs4236_put_master_digital(), resulting in silence
right channel.
+ CS46xx driver
- Summary: fix some memory leaks
This patch fixes two memory leaks spotted by the Coverity checker.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
+ CS5535 driver
- Summary: CS5535: shorter delays when accessing AC'97 codec registers
The 10 ms sleeps while waiting for AC'97 codec register reads/writes to
complete are excessive given the maxmium time is one AC'97 frame (~21 us).
With AC'97 codecs with integrated touchscreens (like the UCB1400) this
improves the interactive performance of the touchscreen.
Signed-off-by: David Vrabel <dvrabel@arcom.com>
+ CX88 driver
- Summary: Sync with current 2.6 code
- Summary: sync with recent 2.6
+ Digigram VX core
- Summary: no need to check pointers passed to vfree() for NULL
There's no need to check pointers passed to vfree() for NULL.
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
- Summary: vx - Fix memory leak on error path
Noticed by Eric Sesterhenn on kernel-janitors@
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
+ Documentation
- Summary: Update description of hda-intel models
Updated the description of hda-intel models for realtek codecs.
- Summary: Fix typos in document
Fixed typos in document.
- Summary: hda-codec - Add lg model for LG laptop
Added a new model "lg" for LG laptop (m1 express dual) with ALC880 codec.
Also clean up the initialization/unsol_event hooks in patch_realtek.c.
- Summary: hda-codec - Fix support of laptops with AD1986A codec
Fix the support of laptops with AD1986A HD-audio codec.
Added new models "3stack" and "laptop". Currently, fixed for FSC V2060
and Samsung M50.
Also fixed the description of missing models in ALSA-Configuration.txt.
- Summary: Fixes audiophile usb analog capture with the new device_setup parameter
The patch adds the "device_setup" module parameter and a specific
quirk to correctly initialize the audiophile usb device: this fixes
the distorted sound bug on the Analog capture port. Backward
compatibility is achieved by simply omitting the new parameter.
Signed-off-by: Thibault LE MEUR <Thibault.LeMeur@supelec.fr>
- Summary: hda-codec - Add support for VAIO FE550G and SZ110
Add support for VAIO FE550G and SZ110 laptops with Sigmatel codec (7661).
The new model "vaio" is added.
- Summary: hda-codec - Fix for Samsung R65 and ASUS A6J
Added a new model "laptop-eapd" to AD1986A codec for Samsung R65 and
ASUS A6J laptops.
- Summary: Fixes typos in Audiophile-USB.txt
Fixes typos in Audiophile-USB.txt.
Signed-off-by: Thibault LE MEUR <Thibault.LeMeur@supelec.fr>
+ EMU10K1/EMU10K2 driver
- Summary: emu10k1 - Add the entry for Audigy4 SB0400
Added the missing card entry for Audigy4 SB0400 model.
- Summary: emu10k1_synth use after free
Thou shalt not dereference freed memory.
Coverity bug #958
Signed-off-by: Dave Jones <davej@redhat.com>
+ ES18xx driver
- Summary: Fix check of enable module option
Fix the check of enable module option in probe of platform_device drivers.
It shouldn't break the loop but just ignore if enable[i] is false.
- Summary: fix some memory leaks
This patch fixes two memory leaks spotted by the Coverity checker.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
+ GUS Library
- Summary: Fix gus_pcm dereference before NULL
The NULL check of substream is simply superfluous. It is
guaranteed to receive non-NULL substream. Thanks Takashi.
Coverity bug #861
Signed-off-by: Eugene Teo <eugene.teo@eugeneteo.net>
+ Generic drivers
- Summary: serialmidi - Fix hang-up with recent kernels
Fix hang-up with recent kernels. The API of write callback was changed.
- Summary: serialmidi - Use platform_device
Rewrite serialmidi.c using platform_device.
- Summary: Fix check of enable module option
Fix the check of enable module option in probe of platform_device drivers.
It shouldn't break the loop but just ignore if enable[i] is false.
- Summary: fix some memory leaks
This patch fixes two memory leaks spotted by the Coverity checker.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
+ HDA Codec driver
- Summary: hda-codec - Fix typos in alc882 model table
Fixed typos in alc882 model table.
- Summary: hda: add PCM for 2nd ADC on ALC260
From: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
The following patch against alsa 1.0.11rc3 creates a PCM device (pcm1c) for
the second ADC present on the ALC260 codec used by the hda driver. It also
defines a new mixer control allowing the mode of retasking pins to be set;
this means a user can (for example) designate the headphone jack to be a
second input. With this patch in place it is possible to do 4 channel
recording on laptops equipped with an ALC260 codec assuming both a stereo
line-in jack is provided in addition to a headphone jack.
Mixer controls are provided to allow the headphone jack to be switched as
an input. In addition, an (input only) mode control is configured for
the line-in jack to allow a bias voltage to be requested (VREF80 or VREF50)
so headsets based on condensor microphones have a chance of working.
This patch has been tested on a Fujitsu S7020 laptop and as such these
features are currently only configured for the "fujitsu" model.
- Summary: hda: minor correction to fujitsu ALC260 initverbs
Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
The following patch changes the initverbs associated with the output sum
widgets 0x08, 0x09 and 0x0a used with the fujitsu model in patch_realtek.c.
It is against alsa 1.0.11rc3.
Currently these widgets have their output muted, but a close reading of the
datasheet suggests that they don't actually have an output mute. They have
an *input* mute for each of their two inputs and a single output gain. This
patch therefore activates the input mutes and zeros the output gain. It has
not yet been tested but the above interpretation of the ALC260 datasheet
seems correct.
- Summary: hda: ALC260 test model implementation
From: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
The following patch adds a "test" ALC260 model specification to the
patch_realtek.c driver if CONFIG_SND_DEBUG is set. This is similar to the
"test" ALC880 model in that it sets up mixer controls for almost everything
to make it easier for people to test their laptop/soundcard when working out
what pin widgets are connected to which real-world devices.
This patch assumes my previous patch (adding the second PCM to the ALC260)
has previously been applied since it uses infrastructure added by that
patch.
In developing this patch it was found that not all retasking pins accept all
the modes - in particular, some ignore the VREFxx variants. The pin mode
control has therefore been tweaked to prevent this becoming a problem in
mixer applications.
- Summary: hda-codec - Add missing model entries for Intel 945 boards
Added the missing entries for Intel 945 boards.
- Summary: hda-intel - Automatic correction to single_cmd mode
Switch to single_cmd mode automatically as a fallback when CORB/RIRB
communication doesn't work well. It may make the driver working on
some devices with broken BIOS/ACPI support.
- Summary: HDA/ALC260: 1/7 - Fix test model input mux label
From: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
This patch fixes input mux labels used for the ALC260 "test" model. This is
needed to avoid confusion which comes about because the two ADCs in the
ALC260 have slightly different mappings for their input selectors. Since
this is just the test model it's sufficient to simply report both options
where they exist. If a model comes along for which this becomes an issue,
the ALC260 input mux code will have to be extended to allow different mux
layouts for different ADCs.
- Summary: HDA/ALC260: 2/7 - switch pin buffer enables
From: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
This patch adds functionality which switches the input/output buffer enables
of retasking pins when the user changes their mode with the mode control.
This probably reduces noise *slightly* for recording compared to the case
where both input and output buffers were enabled simultaneously.
- Summary: HDA/ALC260: 3/7 - generalise some structures
From: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
This patch generalises a structure added for the "fujitsu" model but which
is potentially useful for other models as well. It turns the
"alc260_fujitsu_adc_nids" array into "alc260_dual_adc_nids"; for other
models which decide to utilise the dual ADC functionality there's really
no reason why they need to define their own list of ADC nids.
The "fujitsu" model preset is adjusted accordingly.
- Summary: HDA/ALC260: 4/7 - add GPIO switches to test model
From: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
This patch adds "test" model mixer switches for the GPIO controls found on
the ALC260. It has been found that some laptops (eg: Acer) can use these to
enable particular controls, so it would be useful to have access to these
via the "test" model. It will make testing new models easy, especially if
certain outputs cannot be made to work any other way.
This patch *should* work, but because the GPIO pins don't do anything in
my laptop I cannot personally verify that all this works as expected.
- Summary: HDA/ALC260: 5/7 - add "acer" model
From: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
This patch adds a new "acer" model. It is based on work by Rimas and many
other dedicated Acer owners over the past few weeks (see bug number
1618) - kudos to them. This adds support for a variety of Acer laptops,
although we are still in the process of collecting pci/subsystem IDs to add.
There are still some potentially outstanding issues: there are reports that
the CD control might not yet be functional for example. However, the time
is probably right to get a "first cut" into the kernel which can be refined
as more test reports come in.
From the reports by various Acer owners, this code allows them to record
from internal mics and external jacks. Playback also seems to work to all
external jacks and the internal speaker. The "beep" control doesn't appear
functional at the moment.
This patch depends on the changes made in patch 3/7.
- Summary: HDA/ALC260: 6/7 - Fujitsu/test model tweaks
From: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
This patch is janitorial - it cleans up a number of cosmetic issues with
the "fujitsu" and "test" models. Issues addressed:
* spaces instead of tabs used for some indents,
* clarified/corrected selected comments.
Unlike a patch from earlier this week, this keeps both ADCs connected to
the mic1 pin widget by default. I believe this is the better default, since
some laptops don't bring the line1 widget to the outside world. Most (if
not all) do bring mic1 out though, so it seems to me that this default
should remain in place.
- Summary: HDA/ALC260: 7/7 - add SPDIF enable to test model
From: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
This patch adds mixer controls to the "test" ALC260 model which allow the
user to selectively enable or disable the SPDIF output pins. This should
assist people identify digital outputs on machines which bring them to the
outside world.
Note that while the patch *should* work, I cannot personally verify it since
my laptop doesn't bring the SPDIF lines out.
As for the GPIO switches added in patch 4, these controls are currently
only compiled in if debug mode is selected.
- Summary: hda-codec - Fix ALC262 for Fujitsu laptop
Add "fujitsu" model for ALC262 patch to support a FSC laptop.
The internal speaker is turned on/off with jack sensing.
Also fixed alc262 "basic" model.
- Summary: hda-codec - Fix AD198x recording and add HP model
- Fixed recording of AD1981HD/AD1983/AD1986A
- Added model "hp" to AD1981HD for HP nx6320
- Summary: Fix missing AD1986a capsrc
Fix missing AD1986a capsrc setting in the last patch.
- Summary: hda-codec - Add lg model for LG laptop
Added a new model "lg" for LG laptop (m1 express dual) with ALC880 codec.
Also clean up the initialization/unsol_event hooks in patch_realtek.c.
- Summary: Add default entry for CTL Travel Master U553W
Added the default entry of ALC880 configuration table for
CTL Travel Master U553W.
- Summary: hda-codec - Fix support of laptops with AD1986A codec
Fix the support of laptops with AD1986A HD-audio codec.
Added new models "3stack" and "laptop". Currently, fixed for FSC V2060
and Samsung M50.
Also fixed the description of missing models in ALSA-Configuration.txt.
- Summary: hda-codec - Fix Aopen i915GMm-HFS mobo
Add a model entry for Aopen i915GMm-HFS mobo with ALC880 codec.
- Summary: hda-codec - Add model entry for FIC P4M-915GD1
Add model entry for FIC P4M-915GD1 with ALC880 codec.
- Summary: hda-codec - Add support for VAIO FE550G and SZ110
Add support for VAIO FE550G and SZ110 laptops with Sigmatel codec (7661).
The new model "vaio" is added.
- Summary: hda-codec - Fix for Samsung R65 and ASUS A6J
Added a new model "laptop-eapd" to AD1986A codec for Samsung R65 and
ASUS A6J laptops.
- Summary: hda-codec - Fix BIOS auto-configuration
- Fix autoconfig speaker/hp detection
Now it allows multiple speaker pins (e.g. Dell laptops have such config)
- Use speaker or hp pins if no line-outs are available
This fixes the silence output on recent Dell laptops with STAC9200
(ALSA bug#1843)
- Fix analog/realtek/sigmatel autoconfig parser
- Summary: hda-codec - Add support for HP nx9420 laptop
Added the support for HP nx9420 (AngelFire) laptop with AD1981HD codec.
- Summary: hda-codec - Add support for ASUS P4GPL-X
Added the support ASUS P4GPL-X with ALC880 codec.
+ HDA Intel driver
- Summary: hda-intel - Automatic correction to single_cmd mode
Switch to single_cmd mode automatically as a fallback when CORB/RIRB
communication doesn't work well. It may make the driver working on
some devices with broken BIOS/ACPI support.
- Summary: hda-intel - Auto-correction of the DMA position mode
Switch the method to measure the current DMA position automatically
from position-buffer mode to LPIB-read mode with a sanity check.
Some hardwares seems to have problem with the position buffer.
+ HDA generic driver
- Summary: hda-codec - Fix ALC262 for Fujitsu laptop
Add "fujitsu" model for ALC262 patch to support a FSC laptop.
The internal speaker is turned on/off with jack sensing.
Also fixed alc262 "basic" model.
- Summary: hda-codec - Fix BIOS auto-configuration
- Fix autoconfig speaker/hp detection
Now it allows multiple speaker pins (e.g. Dell laptops have such config)
- Use speaker or hp pins if no line-outs are available
This fixes the silence output on recent Dell laptops with STAC9200
(ALSA bug#1843)
- Fix analog/realtek/sigmatel autoconfig parser
- Summary: hda-codec - Fix generic auto-configurator
Fixed the generic auto-configurator to check speaker pins in
addition.
+ I2C cs8427
- Summary: ice1712 & cs8427 - fix problem for S/PDIF input setup
See ALSA bug#1785 for more details.
+ ICE1712 driver
- Summary: ice1712 & cs8427 - fix problem for S/PDIF input setup
See ALSA bug#1785 for more details.
- Summary: ice1712 - disable unused ADCs & DACs on DMX6fire
Change the value written to hardware configuration register of envy24 chip
in the case of Terratec DMX6fire to restrict the active ADCs & DACs to 6.
Also add the dxr_enable module option to eventually leave the old behaviour
when user requests.
Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
- Summary: ice1712 - Delta 1010LT S/PDIF fixes
See ALSA bug#1806 for details.
- Summary: ice1712 - Fix wordclock status on Delta1010LT
From: Doug McLain <doug@nostar.net>
I posted this patch to bug 1806 a while back, and have been awaiting a
reply or commit. It currently reports the Locked/No Signal text
backwards in envy24control, since i was using an older version of
envy24control when I wrote the original code. The Locked/No Signal test
was recently reversed in envy24control cvs, so the test in my code needs
to be reversed as well. Here is the patch, once again.
- Summary: sound/pci/ice1712/delta.c: make 2 functions static
This patch makes two needlessly global functions static.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
- Summary: ice1712 - Fix wrong value types for enum items
Fix the access to wrong type values for enum items in aureon.c
(ALSA bug#1527).
- Summary: ice1712 - typo fixes for dxr_enable module option
From: Alan Horstmann <gineera@aspect135.co.uk>
+ IOCTL32 emulation
- Summary: make control.c suspend aware
This patch prevents user-space apps from accessing the hardware via
control interface while the soundcard is suspended.
Signed-off-by: Giuliano Pochini <pochini@shiny.it>
+ Intel8x0 driver
- Summary: intel8x0 - wait for ICH_RESETREGS
It seems that hardware requires some time to reset bus master registers.
We need to wait until ICH_RESETREGS bit is not released.
The suggestion and symptom was described by Mike Gorchak <lestat@i.com.ua>.
+ MAINTAINERS file
- Summary: Sync with current 2.6 code
- Summary: sync with recent 2.6
+ MIPS AU1x00 driver
- Summary: AMD Au1x00: make driver build after cleanup
From: Sergei Shtylylov <sshtylyov@ru.mvista.com>
AMD Au1x00 ALSA driver doesn't build after the recent code cleanup:
sound/mips/au1x00.c: In function `au1000_setup_dma_link':
sound/mips/au1x00.c:173: error: `pointer' undeclared (first use in this function)
sound/mips/au1x00.c:173: error: (Each undeclared identifier is reported only once
sound/mips/au1x00.c:173: error: for each function it appears in.)
sound/mips/au1x00.c: In function `snd_au1000_hw_params':
sound/mips/au1x00.c:339: warning: implicit declaration of function `snd_mask_min'
- Summary: AMD Au1x00: fix DMA init/cleanup
AMD Au1x00 ALSA driver causes kernel oops in au1000_init() by trying
to set DMA channel to -1 in yet unallocated audio streams. Here's the
patch that staightens up DMA init/cleanup code.
Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
- Summary: AMD Au1x00: AC'97 controller is memory mapped
AMD Au1x00 ALSA driver erroneously calls request_region() for AC'97
controller registers -- the controller is actually memory mapped at
addresses 0x10000000 thru 0x100FFFFF.
Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
+ MPU401 UART
- Summary: Fix check of enable module option
Fix the check of enable module option in probe of platform_device drivers.
It shouldn't break the loop but just ignore if enable[i] is false.
+ Memalloc module
- Summary: Removed unneeded page-reserve
Removed unneeded page-reservation.
- Summary: Regenerated patch
Regenerated patch to add page-reservation for older kernels.
+ NM256 driver
- Summary: Fix NM256 hard lock up
Treat the nm256 mixer as a write-only device so as to avoid hangs on
initialisation.
Signed-off-by: Florian Schlichting <Florian.Schlichting@gmx.de>
+ OPL3
- Summary: Fix bogus snd_device_free() in opl3-oss.c
Remove snd_device_free() for an opl3-oss instance which should have
been released.
- Summary: Fix use after free in opl3_seq and opl3_oss
Don't read from free'd memory. Also make use of the return
value, and don't register the device if something went wrong
creating the port.
Coverity #954, #955
Signed-off-by: Dave Jones <davej@redhat.com>
+ OPL3SA2 driver
- Summary: Fix check of enable module option
Fix the check of enable module option in probe of platform_device drivers.
It shouldn't break the loop but just ignore if enable[i] is false.
+ Opti9xx drivers
- Summary: opti9x - Fix compile without CONFIG_PNP
Fix compile errors without CONFIG_PNP.
+ PDAudioCF driver
- Summary: Don't NULL check vfree argument in pdaudiocf_pcm.c
Don't check pointers passed to vfree for null in pdaudiocf_pcm.c
Signed-off-by: Jesper Juhl <Jesper.Juhl@Gmail.Com>
+ PPC PMAC driver
- Summary: powerpc: Fix sound driver use of i2c
The PowerMac sound drivers used to rely on a "bug" of the i2c-keywest
driver that implemented I2C_SMBUS_BLOCK_DATA incorrectly, that is it did
what I2C_SMBUS_I2C_BLOCK_DATA should have done. The new i2c-powermac
driver that replaces keywest has this bug fixed, thus the sound drivers
must be fixed too.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+ PPC Tumbler driver
- Summary: powerpc: Fix sound driver use of i2c
The PowerMac sound drivers used to rely on a "bug" of the i2c-keywest
driver that implemented I2C_SMBUS_BLOCK_DATA incorrectly, that is it did
what I2C_SMBUS_I2C_BLOCK_DATA should have done. The new i2c-powermac
driver that replaces keywest has this bug fixed, thus the sound drivers
must be fixed too.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+ PXA Mainstone driver
- Summary: Sync with current 2.6 code
+ RME9652 driver
- Summary: sound/pci/rme9652/hdspm.c: fix off-by-one errors
This patch fixes off-by-one errors found by the Coverity checker.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
+ SAA7134 driver
- Summary: sync with recent 2.6
+ SB drivers
- Summary: sound/isa/sb/sb_mixer.c double kfree
snd_ctl_add() already does the free on error.
Coverity bug #957
Signed-off-by: Dave Jones <davej@redhat.com>
+ USB generic driver
- Subject: usb-audio: rename QUIRK_MIDI_MIDITECH to QUIRK_MIDI_CME
Rename QUIRK_MIDI_MIDITECH to QUIRK_MIDI_CME because Miditech keyboards
are built by CME and use the same protocol, and don't force a Miditech
product name for the USB ID used by both Miditech and CME UF-x
keyboards.
- Summary: usb-audio: add Miditech Play'n Roll support
Add a quirk entry for the Miditech Play'n Roll.
- Summary: no need to check pointers passed to vfree() for NULL
There's no need to check pointers passed to vfree() for NULL.
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
- Summary: usb-audio: optimize snd_usbmidi_count_bits()
Reduce the code size of the snd_usbmidi_count_bits() function by using
simpler operations.
- Summary: fix usbmixer double kfree
snd_ctl_add() kfree's the kcontrol already if we fail there,
so this driver is currently doing a double kfree.
Coverity bug #959
Signed-off-by: Dave Jones <davej@redhat.com>
- Summary: usb-audio: add Casio AP-80R support
Add a quirk for the Casio AP-80R.
- Summary: usb-audio: show USB error descriptions
When usb_submit_urb() fails, show an error description instead of just
the error code.
- Summary: usb-audio: change Casio quirk product name
Use a generic name for USB device 0x07cf:0x6802 because this ID is used
by several devices without a product ID.
- Summary: usb-audio: add error message about missing split iso support
Add an error message for -ENOSYS for situations when split iso support
is needed but not enabled.
- Summary: Fixes audiophile usb analog capture with the new device_setup parameter
The patch adds the "device_setup" module parameter and a specific
quirk to correctly initialize the audiophile usb device: this fixes
the distorted sound bug on the Analog capture port. Backward
compatibility is achieved by simply omitting the new parameter.
Signed-off-by: Thibault LE MEUR <Thibault.LeMeur@supelec.fr>
- Summary: usb-audio: add MDP-5/EZ-J24 support
Add support for the Yamaha MDP-5 and EZ-J24.
- Summary: usb-audio: add Casio PL-40R support
Add a quirk entry for the Casio PL-40R.
- Summary: usb-audio: add Maya44 mixer control names
Add mixer control names for the AudioTrak Maya44 USB.
- Summary: fix resource leak in usbmixer
We may leak 'namelist' in sound/usb/usbmixer.c::parse_audio_selector_unit()
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
+ VIA82xx driver
- Summary: via82xx - Add dxs entry for FSC Amilo L7300
Added dxs_support entry for FSC Amilo L7300.
- Summary: via82xx - Add dxs entry for ASRock mobo
Add dxs_support entry for ASRock mobo.
+ pci_ids.h update
- Summary: Sync with current 2.6 code

alsa-lib

+ Core
- Summary: Fix infinite parse of recursive definitions
Fixed the infinite parse (and eventually segfault) of recursive definitions.
Also fixed the parse of a string slave PCM of direct plugins.
- Summary: Avoid unnecesasry call of resmgr
Avoid unnecesasry call of resmgr if the device file really doesn't exist.
- Summary: allow changing of device directory path
Add configuration options to change the default device path from the
default /dev/snd. This is useful for embedded systems that do not want
subdirectories in /dev.
- Summary: Portability fix for alsa-lib on mips
From: Henryk PlÃ¶tz <henryk@ploetzli.ch>
I recently had problems building alsa-lib 1.0.10 on mips (for my
Netgear WGT634U). Turned out the problem was in include/alsa-symbols.h
were there was __asm__ code that wouldn't work with the mips assembler.
Attached is a patch that makes this work again.
- Summary: Change autoconf requirement to 2.59
Change AC_PREREQ to 2.59.
- Summary: release 1.0.11rc4
+ Control API
- Summary: Fix memory leaks
Fixed small memory leaks in the parser.
- Summary: Fix compile warnings
Fix compile warnings on 64bit architectures.
- Summary: remove superfluous free() checks
free() correctly handles NULL pointers, so we can omit explicit checks
for that condition.
- Summary: allow changing of device directory path
Add configuration options to change the default device path from the
default /dev/snd. This is useful for embedded systems that do not want
subdirectories in /dev.
+ Device Name API
- Summary: remove superfluous free() checks
free() correctly handles NULL pointers, so we can omit explicit checks
for that condition.
+ HWDEP API
- Summary: Do not abort in snd_xxx_close() functions
Remove several memory leaks by not aborting prematurely from a
snd_xxx_close() function when some operation fails.
This can happen when a USB device was unplugged.
- Summary: remove superfluous free() checks
free() correctly handles NULL pointers, so we can omit explicit checks
for that condition.
- Summary: allow changing of device directory path
Add configuration options to change the default device path from the
default /dev/snd. This is useful for embedded systems that do not want
subdirectories in /dev.
+ Mixer API
- Summary: Fix the description of snd_mixer_handle_events()
Fixed the description about the return value of snd_mixer_handle_events()
(ALSA bug#1932).
+ PCM API
- Summary: Fix infinite parse of recursive definitions
Fixed the infinite parse (and eventually segfault) of recursive definitions.
Also fixed the parse of a string slave PCM of direct plugins.
- Summary: snd_pcm_set_params() - added workaround for vortex driver
- Summary: Fixed snd_pcm_set_params() error code
- Summary: Fix check of nonblock option
Fix the check of nonblock option for all hw layer.
Instead of passing in asound.conf, check the option in snd_pcm_hw_open()
so that the nonblock option is referred in the case of "type hw ..." style
definition, too.
- Summary: Fix fullduplex with dmix/dsnoop
Fixed the fullduplex of dmix and dsnoop plugins due to confliction of
ipc keys.
- Summary: Fix plug conversion of non-linear formats
Fix plug conversion of non-linear formats with channel or rate conversion.
- Summary: Remove bogus ATTRIBUTE_UNUSED
Removed bogus ATTRIBUTE_UNUSED.
- Summary: Fix infinite loop in snd_pcm_wait()
Fix possible infinite loop in snd_pcm_wait() with direct plugins
when XRUN occurs during poll.
- Summary: Do not abort in snd_xxx_close() functions
Remove several memory leaks by not aborting prematurely from a
snd_xxx_close() function when some operation fails.
This can happen when a USB device was unplugged.
- Summary: allow changing of device directory path
Add configuration options to change the default device path from the
default /dev/snd. This is useful for embedded systems that do not want
subdirectories in /dev.
- Summary: Fix segfault with PCM rate plugin
Fix segfault with PCM rate plugin (bug#1878)
- Summary: return ENODEV for disconnected devices
Return -ENODEV instead of -ENOTTY for disconnected devices.
- Summary: rate plugin: optimize calculation of the continuous buffer part
When calculating the continuous part till the end of the buffer, we can
use the slave_frames value that has already been calculated by
snd_pcm_mmap_begin().
- Summary: rate plugin: fix fragment size calculation
When calculating the size of the second fragment, do not assume that the
entire size is one period size (which is not true in the draining state)
but use the actual size passed by the caller.
- Summary: rate plugin: wait for data to be drained
When draining, wait for the slave device to become ready to prevent
committing more data than would have been available in the buffer.
- Summary: alsa-lib - added pcm_errors section
- Summary: alsa-lib - added ENOTTY and ENODEV to pcm_errors section
- Summary: Fix double free in rate plugin
Fixed double free in rate plugin (bug#1937).
- Summary: Add restriction parameters to pcm hw layer
Add restriction parameters to pcm hw layer.
The PCM hw has optional parameters, format, rate and channels, to restrict
the configuration. This is useful for definition of surround slave PCMs,
for example.
- Summary: Fix restoration of PCM open mode
The original PCM open mode was lost by the change of default non-blocking
open. The patch fix the restoration of the original open mode.
- Summary: Add init callback to extplug
- Fix the hw constraints of extplug
- Add init callback to extplug
- Summary: Fixes S16 byte swapping with generic dmix code
Here's a patch for generic dmix which fixes S16 byte swapping.
Tested on powerpc with snd-usb-audio. (Without the patch I get crackling.)
Signed-off-by: Juergen Kreileder <jk@blackdown.de>
- Summary: dmix - Allow more flexible buffer sizes
With the patch, dmix allows apps to use more flexible buffer sizes.
The max buffer size is unlimited, and the minimal buffer size is
(period size * 2). The buffer size is aligned to period size.
The period size is still bound to the period size of slave PCM.
To back to the old behavior (the fixed buffer size), you can set
defaults.pcm.dmix_variable_buffer false
in your configuration.
- Summary: Fix extplug->channels initialization
Fixed the missing initialization of extplug->channels in hw_params.
- Summary: Fix timer read from 32bit user-space on 64bit kernel
snd_timer_tread struct is a bad design for 32/64bit compatibility,
and reading this struct on 32bit program returns zero. This results
in tight poll looping (bug#1938, #1945).
For avoiding this bug, now more bigger buffer is read to cover the
64bit tread struct, too. Also this optimizes the read without
checking -EAGAIN in the case both user-space and kernel have the same
tread size.
- Summary: Add support for S32_3LE and byte-swapped S16/S32 to softvol
Here's a patch which adds support for S24_3LE and byte-swapped S16 and
S32 to softvol. I've tested S24_3LE and byte-swapped S16 on powerpc
with snd-usb-audio. All other cases are untested so far.
(Config at http://blog.blackdown.de/static/alsa/USB-Audio.conf)
Signed-off-by: Juergen Kreileder <jk@blackdown.de>
+ RawMidi API
- Summary: Fix infinite parse of recursive definitions
Fixed the infinite parse (and eventually segfault) of recursive definitions.
Also fixed the parse of a string slave PCM of direct plugins.
- Summary: alsa-lib virtual rawmidi device: fixed typo (NONBLOCK mode)
See bug#1821 for details.
- Summary: Do not abort in snd_xxx_close() functions
Remove several memory leaks by not aborting prematurely from a
snd_xxx_close() function when some operation fails.
This can happen when a USB device was unplugged.
- Summary: allow changing of device directory path
Add configuration options to change the default device path from the
default /dev/snd. This is useful for embedded systems that do not want
subdirectories in /dev.
+ Sequencer API
- Summary: Fix infinite parse of recursive definitions
Fixed the infinite parse (and eventually segfault) of recursive definitions.
Also fixed the parse of a string slave PCM of direct plugins.
- Summary: Do not abort in snd_xxx_close() functions
Remove several memory leaks by not aborting prematurely from a
snd_xxx_close() function when some operation fails.
This can happen when a USB device was unplugged.
- Summary: fix a typo
Fix a memory leak in an error path of snd_seq_hw_open().
- Summary: allow changing of device directory path
Add configuration options to change the default device path from the
default /dev/snd. This is useful for embedded systems that do not want
subdirectories in /dev.
+ Timer API
- Summary: Do not abort in snd_xxx_close() functions
Remove several memory leaks by not aborting prematurely from a
snd_xxx_close() function when some operation fails.
This can happen when a USB device was unplugged.
- Summary: allow changing of device directory path
Add configuration options to change the default device path from the
default /dev/snd. This is useful for embedded systems that do not want
subdirectories in /dev.
- Summary: Suppress warning messages from old timer
Suppress warning messages when the new timer ioctl isn't available
(happening when using dmix in the new alsa-lib with older kernels).
+ ALSA Lisp
- Summary: remove superfluous free() checks
free() correctly handles NULL pointers, so we can omit explicit checks
for that condition.
+ Configuration
- Summary: Fix infinite parse of recursive definitions
Fixed the infinite parse (and eventually segfault) of recursive definitions.
Also fixed the parse of a string slave PCM of direct plugins.
- Summary: Fix check of nonblock option
Fix the check of nonblock option for all hw layer.
Instead of passing in asound.conf, check the option in snd_pcm_hw_open()
so that the nonblock option is referred in the case of "type hw ..." style
definition, too.
- Summary: remove superfluous free() checks
free() correctly handles NULL pointers, so we can omit explicit checks
for that condition.
- Summary: Add channels parameter to surround40/51 definitions
Add channels parameter to surround40/51 definitions for drivers
using a single device.
- Summary: dmix - Allow more flexible buffer sizes
With the patch, dmix allows apps to use more flexible buffer sizes.
The max buffer size is unlimited, and the minimal buffer size is
(period size * 2). The buffer size is aligned to period size.
The period size is still bound to the period size of slave PCM.
To back to the old behavior (the fixed buffer size), you can set
defaults.pcm.dmix_variable_buffer false
in your configuration.
+ Documentation
- Summary: Add description about non-blocking behavior
Add description about the default non-blocking behavior.
+ External PCM Filter Plugin SDK
- Summary: Add init callback to extplug
- Fix the hw constraints of extplug
- Add init callback to extplug