openwrt/staging/blogic.git
16 years agoALSA: Kill snd_assert() definition
Takashi Iwai [Fri, 8 Aug 2008 15:14:55 +0000 (17:14 +0200)]
ALSA: Kill snd_assert() definition

Remove snd_assert() completely now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: Kill snd_assert() in other places
Takashi Iwai [Fri, 8 Aug 2008 15:12:47 +0000 (17:12 +0200)]
ALSA: Kill snd_assert() in other places

Kill snd_assert() in other places, either removed or replaced with
if () with snd_BUG_ON().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: Kill snd_assert() in sound/pci/*
Takashi Iwai [Fri, 8 Aug 2008 15:12:14 +0000 (17:12 +0200)]
ALSA: Kill snd_assert() in sound/pci/*

Kill snd_assert() in sound/pci/*, either removed or replaced with
if () with snd_BUG_ON().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: Kill snd_assert() in sound/isa/*
Takashi Iwai [Fri, 8 Aug 2008 15:11:45 +0000 (17:11 +0200)]
ALSA: Kill snd_assert() in sound/isa/*

Kill snd_assert() in sound/isa/*, either removed or replaced with
if () with snd_BUG_ON().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: Kill snd_assert() in sound/core/*
Takashi Iwai [Fri, 8 Aug 2008 15:09:09 +0000 (17:09 +0200)]
ALSA: Kill snd_assert() in sound/core/*

Kill snd_assert() in sound/core/*, either removed or replaced with
if () with snd_BUG_ON().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: Introduce snd_BUG_ON() macro
Takashi Iwai [Fri, 8 Aug 2008 15:06:01 +0000 (17:06 +0200)]
ALSA: Introduce snd_BUG_ON() macro

Introduced snd_BUG_ON() macro as a replacement of snd_assert() macro.
snd_assert() is pretty ugly as it has the control flow in its argument.
OTOH, snd_BUG_ON() behaves like a normal conditional, thus it's much
easier to read the flow.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: wss_lib: missing closing brace in (ifdeffed out) debug function.
Rene Herman [Fri, 8 Aug 2008 14:39:21 +0000 (16:39 +0200)]
ALSA: wss_lib: missing closing brace in (ifdeffed out) debug function.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: au88x0: clipping ceiling loop wrong in comment
roel kluin [Thu, 7 Aug 2008 19:56:22 +0000 (15:56 -0400)]
ALSA: au88x0: clipping ceiling loop wrong in comment

As is the clipping ceiling loop appears wrong anyways

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: ASoC - fix DMA channel selection in Freescale MPC8610 sound drivers
Timur Tabi [Wed, 6 Aug 2008 20:01:01 +0000 (15:01 -0500)]
ALSA: ASoC - fix DMA channel selection in Freescale MPC8610 sound drivers

On the Freescale MPC8610, SSI1 is hard-coded to use DMA channels 0 and 1
for playback and capture, and SSI2 is hard-coded to use DMA channels 2 and 3.
This patch fixes the fabric driver so that it uses the right channels.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: ASoC: Add WM8580 CODEC driver
Mark Brown [Wed, 6 Aug 2008 12:18:26 +0000 (13:18 +0100)]
ALSA: ASoC: Add WM8580 CODEC driver

The WM8580 is an audio CODEC designed for DVD and surround sound
applications, offering three stereo DACs and a stereo ADC.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: wss_lib: rework snd_ad1848_probe()
Rene Herman [Wed, 6 Aug 2008 06:09:34 +0000 (08:09 +0200)]
ALSA: wss_lib: rework snd_ad1848_probe()

Make snd_ad1848_probe() easier to follow. With an exception for only
trying once as soon as the codec is out of init (which should be all
that's needed) the detection logic should be unchanged.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: ac97 - Enable mono-out on ALC203 codec as default
Takashi Iwai [Tue, 5 Aug 2008 13:45:45 +0000 (15:45 +0200)]
ALSA: ac97 - Enable mono-out on ALC203 codec as default

Use pin 37 for mono-out as default on ALC203.

Reported-by: george pee <georgepee@gmail.com>
Tested-by: george pee <georgepee@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: snd_usb_audio: fix SB Extigy IR Remote regression
Phillip Michael Jordan [Tue, 5 Aug 2008 09:01:00 +0000 (11:01 +0200)]
ALSA: snd_usb_audio: fix SB Extigy IR Remote regression

The support for the SB Extigy's remote seems to be broken in all
recent ALSA versions, including 1.0.17. The driver detects the event
correctly, then submits a URB to query the RC code. On the Extigy, the
URB is submitted with a length of 2 bytes. My hardware, however, only
replies with 1 byte, containing the correct RC button code. The
current implementation discards this as being too short. (line 1784 of
usbmixer.c)

This patch specifies a "minimum packet length" in the remote control
configuration. I've left the values for the Audigy 2/Live! the same as
the packet length, as I'm assuming the existing code works with them.
(I don't have the hardware to confirm) This fixes the Extigy RC
support, e.g. for use with Lirc.

Signed-off-by: Phillip Michael Jordan <phil@philjordan.eu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: ASoC: Add WM8900 CODEC driver
Mark Brown [Mon, 4 Aug 2008 11:06:45 +0000 (12:06 +0100)]
ALSA: ASoC: Add WM8900 CODEC driver

The WM8900 is designed for portable multimedia applications requiring
low power consumption, high performance audio and a compact form factor
providing:

 - 24 bit stereo ADC and DAC
 - Microphone and line inputs
 - Line outputs
 - Class G headphone amplifier

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: hda: Add support for ECS/PC Chips boards with Sigmatel codecs
Mauro Carvalho Chehab [Mon, 4 Aug 2008 13:39:59 +0000 (10:39 -0300)]
ALSA: hda: Add support for ECS/PC Chips boards with Sigmatel codecs

Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) and CDI Brasil
(www.cdibrasil.com.br/) for sponsoring this development.

Signed-off-by: Gilberto <gilberto@sistemafenix.com.br>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: hda - Fix sound on NEC Versa S9100
Pascal Terjan [Mon, 4 Aug 2008 12:36:05 +0000 (14:36 +0200)]
ALSA: hda - Fix sound on NEC Versa S9100

This patch adds sound support for NEC Versa S9100
With it, we get sound on the internal speaker and headphone (with
automute working) while there is no sound by default.
External mic also works fine but I don't know if there is an internal
one (if there is an internal mic it does not work currently), and I
had to send back the hardware.

Signed-off-by: Pascal Terjan <pterjan@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: wss_lib: fix AZT2320 probe.
Rene Herman [Tue, 5 Aug 2008 07:33:33 +0000 (09:33 +0200)]
ALSA: wss_lib: fix AZT2320 probe.

After the transition from cs4321_lib to wss_lib, azt2320 probe visits
snd_ad1848_probe during detection. It expects register 0 (LEFT_INPUT)
to be able to retain the value 0xaa during detection but AZT2320 does
not support MIC gain meaning it reads back as 0x8a instead.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: snd-cs4236: add Techmakers MF-4236PW PnP card ID
Rene Herman [Sun, 3 Aug 2008 23:23:43 +0000 (01:23 +0200)]
ALSA: snd-cs4236: add Techmakers MF-4236PW PnP card ID

Add the Techmakers MF-4236PW (Crystal CX4236B-XQ3) PnP card ID.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: wss_lib: remove second mutexes initialization
Krzysztof Helt [Sun, 3 Aug 2008 15:57:21 +0000 (17:57 +0200)]
ALSA: wss_lib: remove second mutexes initialization

Remove initializations of spinlock and mutexes which
are done earlier in snd_wss_new(). The snd_wss_new()
is called from snd_wss_create().

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: wss_lib: opti92x-ad1848 WSS_HW_DETECT fix
Rene Herman [Mon, 4 Aug 2008 03:26:26 +0000 (05:26 +0200)]
ALSA: wss_lib: opti92x-ad1848 WSS_HW_DETECT fix

snd-opti92x-ad1848 mistakingly passes WSS_HW_OPTI93X currently. This
fixes it as tested with a OPTi 82C929A/AD1848 card.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: wss_lib: fix opti93x capture formats limitations
Krzysztof Helt [Thu, 31 Jul 2008 19:11:46 +0000 (21:11 +0200)]
ALSA: wss_lib: fix opti93x capture formats limitations

Limit opti93x cards capture formats to only linear ones.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: wss_lib: use wss detection code instead of ad1848 one
Krzysztof Helt [Thu, 31 Jul 2008 19:10:47 +0000 (21:10 +0200)]
ALSA: wss_lib: use wss detection code instead of ad1848 one

Use the wss detection code and kill the ad1848 library.
The library is fully assimilated into the new wss library.

This required reworking of the AD1848 family code
so the code is changed to correctly detect chips from
the AD1848 and CS4231 families.

I have tested it on following cards:
Gallant SC-6600 (codec: AD1848, driver: snd-sc6600)
SoundScape VIVO/90 (codec: AD1845, driver: snd-sscape)
SG Waverider (codec: CS4231A, driver: Rene Herman's snd-galaxy)
Opti930 (codec: built-in - CS4231 compatible, driver: snd-opti93x)
Opti931 (codec: built-in - CS4231 compatible, driver: snd-opti93x)
Gallant SC-70P (chip/codec: CS4237B, driver: snd-cs4236)
Audio Plus 3D (chip/codec: CMI8330A, driver: snd-cmi8330)
Dell Latitude CP (chip/codec: cs4236, driver snd-cs4232)

Sound playback and recording works on all these cards.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: wss_lib: use wss pcm code instead of ad1848 one
Krzysztof Helt [Thu, 31 Jul 2008 19:09:32 +0000 (21:09 +0200)]
ALSA: wss_lib: use wss pcm code instead of ad1848 one

Use the wss pcm code and kill the ad1848 pcm code.

The AD1848 chip is much slower than CS4231 chips
so the waiting loop was increased 100x (10x is not
enough).

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: wss_lib: use wss mixer code instead of ad1848 one
Krzysztof Helt [Thu, 31 Jul 2008 19:08:32 +0000 (21:08 +0200)]
ALSA: wss_lib: use wss mixer code instead of ad1848 one

Use the wss mixer code and kill the ad1848 mixer code.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: wss_lib: use CS4231P instead of AD1848P (kill the AD1848P)
Krzysztof Helt [Thu, 31 Jul 2008 19:07:30 +0000 (21:07 +0200)]
ALSA: wss_lib: use CS4231P instead of AD1848P (kill the AD1848P)

Use CS4231P instead of AD1848P (kill the AD1848P).

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: wss_lib: replace ad1848 mixer element macros with wss ones
Krzysztof Helt [Thu, 31 Jul 2008 19:06:46 +0000 (21:06 +0200)]
ALSA: wss_lib: replace ad1848 mixer element macros with wss ones

Use the wss macros instead of ad1848 ones.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: wss_lib: use wss constants instead of ad1848 ones
Krzysztof Helt [Thu, 31 Jul 2008 19:05:44 +0000 (21:05 +0200)]
ALSA: wss_lib: use wss constants instead of ad1848 ones

Use wss constants for mode.
Move ad1848 hardware constants to the wss.h.
Move mixer tlv macros into the ad1848_lib.c from the ad1848.h.

Drop the MODE_RUNNING spurious IRQ guard on AD1848 as it doesn not seem
to be needed.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: wss_lib: use struct snd_wss instead of snd_ad1848
Krzysztof Helt [Thu, 31 Jul 2008 19:04:37 +0000 (21:04 +0200)]
ALSA: wss_lib: use struct snd_wss instead of snd_ad1848

The snd_wss is superset of the snd_ad1848 so kill
the latter and replace it with the snd_wss.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: wss_lib: rename cs4321_foo to wss_foo
Krzysztof Helt [Thu, 31 Jul 2008 19:03:41 +0000 (21:03 +0200)]
ALSA: wss_lib: rename cs4321_foo to wss_foo

Rename functions and structures from the former
cs4321_lib to names more corresponding with the
new name: wss_lib.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: wss_lib: rename cs4231.h into wss.h
Krzysztof Helt [Thu, 31 Jul 2008 19:02:42 +0000 (21:02 +0200)]
ALSA: wss_lib: rename cs4231.h into wss.h

Rename file include/sound/cs4231.h
into include/sound/wss.h

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: wss_lib: move cs4231_lib into wss_lib
Krzysztof Helt [Thu, 31 Jul 2008 19:00:17 +0000 (21:00 +0200)]
ALSA: wss_lib: move cs4231_lib into wss_lib

Move the file sound/isa/cs423x/cs4231_lib.c
into sound/isa/cs423x/wss_lib.c
This is the first step toward merging all libraries
for Windows Sound System compatible chips
into a single library.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: ice1724 - Support for Terrasoniq/MUSONIK TS22 PCI card
Misha Zhilin [Fri, 1 Aug 2008 10:45:14 +0000 (12:45 +0200)]
ALSA: ice1724 - Support for Terrasoniq/MUSONIK TS22 PCI card

Added support for Terrasoniq/MUSONIK TS22 PCI card.

Signed-off-by: Misha Zhilin <misha@epiphan.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE
Pawel MOLL [Wed, 30 Jul 2008 11:46:40 +0000 (12:46 +0100)]
ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE

When compiled with CONFIG_SND_DYNAMIC_MINORS the ALSA core is fine
to have more than 8 PCM devices per card, except one place - the
SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE ioctl, which will not enumerate
devices > 7. This patch fixes the issue, changing the devices list
organisation.

Instead of adding new device to the tail, the list is now kept always
ordered (by card number, then device number). Thus, during enumeration,
it is easy to discover the fact that there is no more given card's
devices.

Additionally the device field of struct snd_pcm had to be changed to int,
as its "unsignednity" caused a lot of problems when comparing it to
potentially negative signed values. (-1 is 0xffffffff or even more then ;-)

Signed-off-by: Pawel Moll <pawel.moll@st.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: Add USB US122L driver
Karsten Wiese [Wed, 30 Jul 2008 13:13:29 +0000 (15:13 +0200)]
ALSA: Add USB US122L driver

Added a new US122L usb-audio driver.  This driver works together with a
dedicated alsa-lib plugin.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agosound: Revert "ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE"
Jaroslav Kysela [Fri, 1 Aug 2008 11:36:04 +0000 (13:36 +0200)]
sound: Revert "ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE"

This reverts commit fb3d6f2b77bdec75d45aa9d4464287ed87927866.

New, updated patch with same subject replaces this commit.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: IEC958 definition for consumer status channel update
Pawel MOLL [Fri, 1 Aug 2008 10:23:44 +0000 (11:23 +0100)]
ALSA: IEC958 definition for consumer status channel update

Updated IEC958 consumer status channel definitions according
to the third edition of IEC60958-3 spec.

Signed-off-by: Pawel Moll <pawel.moll@st.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE
Pawel MOLL [Tue, 29 Jul 2008 16:34:26 +0000 (17:34 +0100)]
ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE

When compiled with CONFIG_SND_DYNAMIC_MINORS the ALSA core is fine
to have more than 8 PCM devices per card, except one place - the
SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE ioctl, which will not enumerate
devices > 7. This patch fixes the issue, changing the devices list
organisation.

Instead of adding new device to the tail, the list is now kept always
ordered (by card number, then device number). Thus, during enumeration,
it is easy to discover the fact that there is no more given card's
devices. The same limit was present in OSS emulation code. It has
been fixed as well.

Additionally the device field of struct snd_pcm is now int, instead of
unsigned int, as there is no obvious reason for keeping it unsigned.
This caused a lot of problems with comparing this value with other
(almost always signed) variables. There is just one more place where
device number is unsigned - in struct snd_pcm_info, which should be
also sorted out in future.

Signed-off-by: Pawel MOLL <pawel.moll@st.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: ASoC: convert use of uint to unsigned int
Jon Smirl [Tue, 29 Jul 2008 14:22:24 +0000 (10:22 -0400)]
ALSA: ASoC: convert use of uint to unsigned int

ASOC: convert use of uint to unsigned int

Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: ASoC: Add all CODECs Kconfig option
Mark Brown [Tue, 29 Jul 2008 10:42:35 +0000 (11:42 +0100)]
ALSA: ASoC: Add all CODECs Kconfig option

Allow all the CODEC drivers to be built without a machine driver in order
to facilitate testing of subsystem-wide changes and gain better coverage
from automated testing efforts. This also helps things like the generic
OpenFirmware machine driver for PowerPC.

Currently AC97 CODECs are not included since the current setup relies
on having a controller driver available.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: ASoC: AD1980 audio codec driver
Cliff Cai [Tue, 29 Jul 2008 10:42:34 +0000 (11:42 +0100)]
ALSA: ASoC: AD1980 audio codec driver

[Mechanical updates from code review applied -- broonie]

Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: ASoC: Staticise keyclick dev_attr in tlv320aic26
Mark Brown [Tue, 29 Jul 2008 10:42:33 +0000 (11:42 +0100)]
ALSA: ASoC: Staticise keyclick dev_attr in tlv320aic26

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: ASoC: Export DAI and codec for TLV320AIC26
Mark Brown [Tue, 29 Jul 2008 10:42:32 +0000 (11:42 +0100)]
ALSA: ASoC: Export DAI and codec for TLV320AIC26

This fixes sparse warnings and allows non-OpenFirmware systems to attempt
to bind to the device.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: ASoC: Add Texas Instruments TLV320AIC26 codec driver
Grant Likely [Tue, 29 Jul 2008 10:42:31 +0000 (11:42 +0100)]
ALSA: ASoC: Add Texas Instruments TLV320AIC26 codec driver

ASoC Codec driver for the TLV320AIC26 device.  As it stands, this driver
doesn't support all the modes and clocking options of the AIC16, but it
is a start.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: ASoC: Add mpc5200-psc I2S driver
Grant Likely [Tue, 29 Jul 2008 10:42:30 +0000 (11:42 +0100)]
ALSA: ASoC: Add mpc5200-psc I2S driver

This is an I2S bus driver for the MPC5200 PSC device.  It depends on the
soc-of helper functions to match a PSC device with a codec based on data
in the device tree.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: ASoC: Make OpenFirmware helper include file conditional
Mark Brown [Tue, 29 Jul 2008 10:42:29 +0000 (11:42 +0100)]
ALSA: ASoC: Make OpenFirmware helper include file conditional

The OpenFirmware API headers don't build on all platforms so ensure
that they are not included unless they are being used.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: ASoC: Add OpenFirmware helper for matching bus and codec drivers
Grant Likely [Tue, 29 Jul 2008 10:42:28 +0000 (11:42 +0100)]
ALSA: ASoC: Add OpenFirmware helper for matching bus and codec drivers

Simple utility layer for creating ASoC machine instances based on data
in the OpenFirmware device tree.  OF aware platform drivers and codec
drivers register themselves with this framework and the framework
automatically instantiates a machine driver.  At the moment, the driver
is not very capable and it is expected to be extended as more features
are needed for specifying the configuration in the device tree.

This is most likely temporary glue code to work around limitations in
the ASoC v1 framework.  When v2 is merged, most of this driver will
need to be reworked.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: ASoC: Rename mask to max to reflect usage
Jon Smirl [Tue, 29 Jul 2008 10:42:27 +0000 (11:42 +0100)]
ALSA: ASoC: Rename mask to max to reflect usage

Most of the ASoC controls refer to the maximum value that can be set for
a control as mask but there is no actual requirement for all bits to be
set at the highest possible value making the name mask misleading.
Change the code to use max instead.

Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: ASoC: Convert bitfields in ASoC into full int width
Jon Smirl [Tue, 29 Jul 2008 10:42:26 +0000 (11:42 +0100)]
ALSA: ASoC: Convert bitfields in ASoC into full int width

Convert bitfields in ASoC into full int width. This is a
simple mechanical conversion. Two places in the DAPM code
were fixed to properly use mask.

Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: ASoC: Allow codecs to override register display
Mark Brown [Tue, 29 Jul 2008 10:42:25 +0000 (11:42 +0100)]
ALSA: ASoC: Allow codecs to override register display

Some codecs have unusual features in their register maps such as very
large registers representing arrays of coefficients. Support these
codecs in the register cache sysfs file by allowing them to provide a
function register_display() overriding the default output for register
contents.

Also ensure that we don't overflow PAGE_SIZE while writing out the
register dump.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: ASoC: Permit simultaneous compilation of both PXA AC97 drivers
Dmitry Baryshkov [Tue, 29 Jul 2008 10:42:24 +0000 (11:42 +0100)]
ALSA: ASoC: Permit simultaneous compilation of both PXA AC97 drivers

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: hda - use input_free_device()
Takashi Iwai [Tue, 29 Jul 2008 10:08:16 +0000 (12:08 +0200)]
ALSA: hda - use input_free_device()

Use input_free_devce() correctly instead of kfree() at error path.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: Build jack detection
Mark Brown [Mon, 28 Jul 2008 18:05:36 +0000 (19:05 +0100)]
ALSA: Build jack detection

Since jack detection requires the input subsystem which may not be
desired on small systems it is not built unless required by a driver
that is being built. Drivers using jack detection should use a pattern
like this:

config SND_FOO
        tristate "..."
        ...
        select SND_JACK if INPUT=y || INPUT=SND

to ensure that the jack detection API is enabled if the input subsystem
is.  If the input subsystem is not enabled then a stub version of the
API is provided.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: Add jack reporting API
Mark Brown [Mon, 28 Jul 2008 18:05:35 +0000 (19:05 +0100)]
ALSA: Add jack reporting API

Currently very few systems provide information about jack status to user
space, even though many have hardware facilities to do detection. Those
systems that do use an input device with the existing SW_HEADPHONE_INSERT
switch type to do so, often independently of ALSA.

This patch introduces a standard method for representing jacks to user
space into ALSA. It allows drivers to register jacks for a sound card with
the input subsystem, binding the input device to the card to help user
space associate the input devices with their sound cards. The created
input devices are named in the form "card longname jack" where jack is
provided by the driver when allocating a jack. By default the parent for
the input device is the sound card but this can be overridden by the
card driver.

The existing user space API with SW_HEADPHONE_INSERT is preserved.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: Fix commit: Add automatic model setting for the Acer Aspire 5920G laptop
Jaroslav Kysela [Mon, 28 Jul 2008 15:07:07 +0000 (17:07 +0200)]
ALSA: Fix commit: Add automatic model setting for the Acer Aspire 5920G laptop

There is a whitespace at the end of added line. Remove it.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: hda: added 92HD81/83 support
Matthew Ranostay [Sun, 27 Jul 2008 08:30:30 +0000 (10:30 +0200)]
ALSA: hda: added 92HD81/83 support

Added support for 92HD81/83 family of codecs.
This also includes a pwr_mapping array for pins that have more than
one amp to power down.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: usb-audio: add BOSS GT-10 support
Clemens Ladisch [Mon, 28 Jul 2008 08:19:39 +0000 (10:19 +0200)]
ALSA: usb-audio: add BOSS GT-10 support

Add a quirk entry for the BOSS GT-10.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
16 years agoALSA: hda: digital pc-beep support hd-audio codecs
Matthew Ranostay [Fri, 18 Jul 2008 16:20:52 +0000 (18:20 +0200)]
ALSA: hda: digital pc-beep support hd-audio codecs

Added digital pc-beep support using linear tone generation for hd-codecs along
with initial support for several IDT codecs.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoALSA: re-order AC97 codec ID table.
Rene Herman [Tue, 15 Jul 2008 14:24:50 +0000 (16:24 +0200)]
ALSA: re-order AC97 codec ID table.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoLinux 2.6.27
Linus Torvalds [Thu, 9 Oct 2008 22:13:53 +0000 (15:13 -0700)]
Linux 2.6.27

16 years agoDon't allow splice() to files opened with O_APPEND
Linus Torvalds [Thu, 9 Oct 2008 21:04:54 +0000 (14:04 -0700)]
Don't allow splice() to files opened with O_APPEND

This is debatable, but while we're debating it, let's disallow the
combination of splice and an O_APPEND destination.

It's not entirely clear what the semantics of O_APPEND should be, and
POSIX apparently expects pwrite() to ignore O_APPEND, for example.  So
we could make up any semantics we want, including the old ones.

But Miklos convinced me that we should at least give it some thought,
and that accepting writes at arbitrary offsets is wrong at least for
IS_APPEND() files (which always have O_APPEND set, even if the reverse
isn't true: you can obviously have O_APPEND set on a regular file).

So disallow O_APPEND entirely for now.  I doubt anybody cares, and this
way we have one less gray area to worry about.

Reported-and-argued-for-by: Miklos Szeredi <miklos@szeredi.hu>
Acked-by: Jens Axboe <ens.axboe@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6
Linus Torvalds [Thu, 9 Oct 2008 19:23:54 +0000 (12:23 -0700)]
Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6

* 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
  hwmon: (abituguru3) Enable DMI probing feature on Abit AT8 32X
  hwmon: (abituguru3) Enable reading from AUX3 fan on Abit AT8 32X
  hwmon: (adt7473) Fix some bogosity in documentation file
  hwmon: Define sysfs interface for energy consumption register
  hwmon: (it87) Prevent power-off on Shuttle SN68PT
  eeepc-laptop: Fix hwmon interface

16 years agoMerge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq
Linus Torvalds [Thu, 9 Oct 2008 19:23:35 +0000 (12:23 -0700)]
Merge branch 'fixes' of git://git./linux/kernel/git/davej/cpufreq

* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
  [CPUFREQ] correct broken links and email addresses

16 years agoSLOB: fix bogus ksize calculation fix
Matt Mackall [Wed, 8 Oct 2008 19:51:57 +0000 (14:51 -0500)]
SLOB: fix bogus ksize calculation fix

This fixes the previous fix, which was completely wrong on closer
inspection. This version has been manually tested with a user-space
test harness and generates sane values. A nearly identical patch has
been boot-tested.

The problem arose from changing how kmalloc/kfree handled alignment
padding without updating ksize to match. This brings it in sync.

Signed-off-by: Matt Mackall <mpm@selenic.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years ago[CPUFREQ] correct broken links and email addresses
Németh Márton [Thu, 9 Oct 2008 12:59:17 +0000 (14:59 +0200)]
[CPUFREQ] correct broken links and email addresses

Replace the no longer working links and email address in the
documentation and in source code.

Signed-off-by: Márton Németh <nm127@freemail.hu>
Signed-off-by: Dave Jones <davej@redhat.com>
16 years agohwmon: (abituguru3) Enable DMI probing feature on Abit AT8 32X
Alistair John Strachan [Thu, 9 Oct 2008 13:33:59 +0000 (15:33 +0200)]
hwmon: (abituguru3) Enable DMI probing feature on Abit AT8 32X

Enable driver checking of the DMI product name (when enabled) on
an Abit AT8 32X, instead of falling back to a manual probe. This
eliminates false negatives and eventually will help avoid
unnecessary bus probes on unsupported mainboards.

Signed-off-by: Alistair John Strachan <alistair@devzero.co.uk>
Tested-by: Daniel Exner <dex@dragonslave.de>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
16 years agohwmon: (abituguru3) Enable reading from AUX3 fan on Abit AT8 32X
Alistair John Strachan [Thu, 9 Oct 2008 13:33:59 +0000 (15:33 +0200)]
hwmon: (abituguru3) Enable reading from AUX3 fan on Abit AT8 32X

The table for the Abit AT8 32X was incorrectly missing an entry
for the sixth ("AUX3") fan. Add this entry, exporting the fan
reading to userspace.

Closes lm-sensors.org ticket #2339.

Signed-off-by: Alistair John Strachan <alistair@devzero.co.uk>
Tested-by: Daniel Exner <dex@dragonslave.de>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
16 years agohwmon: (adt7473) Fix some bogosity in documentation file
Darrick J. Wong [Thu, 9 Oct 2008 13:33:58 +0000 (15:33 +0200)]
hwmon: (adt7473) Fix some bogosity in documentation file

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
16 years agohwmon: Define sysfs interface for energy consumption register
Darrick J. Wong [Thu, 9 Oct 2008 13:33:58 +0000 (15:33 +0200)]
hwmon: Define sysfs interface for energy consumption register

Describe the sysfs files that were introduced in the ibmaem driver.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
16 years agohwmon: (it87) Prevent power-off on Shuttle SN68PT
Jean Delvare [Thu, 9 Oct 2008 13:33:58 +0000 (15:33 +0200)]
hwmon: (it87) Prevent power-off on Shuttle SN68PT

On the Shuttle SN68PT, FAN_CTL2 is apparently not connected to a fan,
but to something else. One user has reported instant system power-off
when changing the PWM2 duty cycle, so we disable it.

I use the board name string as the trigger in case the same board is
ever used in other systems.

This closes lm-sensors ticket #2349:
pwmconfig causes a hard poweroff
http://www.lm-sensors.org/ticket/2349

Signed-off-by: Jean Delvare <khali@linux-fr.org>
16 years agoeeepc-laptop: Fix hwmon interface
Corentin Chary [Thu, 9 Oct 2008 13:33:57 +0000 (15:33 +0200)]
eeepc-laptop: Fix hwmon interface

Creates a name file in the sysfs directory, that
is needed for the libsensors library to work.
Also rename fan1_pwm to pwm1 and scale its value as needed.

This fixes bug #11520:
http://bugzilla.kernel.org/show_bug.cgi?id=11520

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
16 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Wed, 8 Oct 2008 18:41:10 +0000 (11:41 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
  [MIPS] Sibyte: Register PIO PATA device only for Swarm and Litte Sur

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Wed, 8 Oct 2008 18:40:19 +0000 (11:40 -0700)]
Merge git://git./linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
  tcp: Fix tcp_hybla zero congestion window growth with small rho and large cwnd.
  net: Fix netdev_run_todo dead-lock
  tcp: Fix possible double-ack w/ user dma
  net: only invoke dev->change_rx_flags when device is UP
  netrom: Fix sock_orphan() use in nr_release
  ax25: Quick fix for making sure unaccepted sockets get destroyed.
  Revert "ax25: Fix std timer socket destroy handling."
  [Bluetooth] Add reset quirk for A-Link BlueUSB21 dongle
  [Bluetooth] Add reset quirk for new Targus and Belkin dongles
  [Bluetooth] Fix double frees on error paths of btusb and bpa10x drivers

16 years ago[MIPS] Sibyte: Register PIO PATA device only for Swarm and Litte Sur
Ralf Baechle [Wed, 8 Oct 2008 18:14:33 +0000 (19:14 +0100)]
[MIPS] Sibyte: Register PIO PATA device only for Swarm and Litte Sur

Symbol name spaghetti which is too complicated to cleanup on this stage
of the release cycle breaks the build on BCM1480 platforms.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years agotcp: Fix tcp_hybla zero congestion window growth with small rho and large cwnd.
Daniele Lacamera [Tue, 7 Oct 2008 22:58:17 +0000 (15:58 -0700)]
tcp: Fix tcp_hybla zero congestion window growth with small rho and large cwnd.

Because of rounding, in certain conditions, i.e. when in congestion
avoidance state rho is smaller than 1/128 of the current cwnd, TCP
Hybla congestion control starves and the cwnd is kept constant
forever.

This patch forces an increment by one segment after #send_cwnd calls
without increments(newreno behavior).

Signed-off-by: Daniele Lacamera <root@danielinux.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet: Fix netdev_run_todo dead-lock
Herbert Xu [Tue, 7 Oct 2008 22:50:03 +0000 (15:50 -0700)]
net: Fix netdev_run_todo dead-lock

Benjamin Thery tracked down a bug that explains many instances
of the error

unregister_netdevice: waiting for %s to become free. Usage count = %d

It turns out that netdev_run_todo can dead-lock with itself if
a second instance of it is run in a thread that will then free
a reference to the device waited on by the first instance.

The problem is really quite silly.  We were trying to create
parallelism where none was required.  As netdev_run_todo always
follows a RTNL section, and that todo tasks can only be added
with the RTNL held, by definition you should only need to wait
for the very ones that you've added and be done with it.

There is no need for a second mutex or spinlock.

This is exactly what the following patch does.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluet...
David S. Miller [Tue, 7 Oct 2008 22:32:20 +0000 (15:32 -0700)]
Merge branch 'master' of git://git./linux/kernel/git/holtmann/bluetooth-2.6

16 years agotcp: Fix possible double-ack w/ user dma
Ali Saidi [Tue, 7 Oct 2008 22:31:19 +0000 (15:31 -0700)]
tcp: Fix possible double-ack w/ user dma

From: Ali Saidi <saidi@engin.umich.edu>

When TCP receive copy offload is enabled it's possible that
tcp_rcv_established() will cause two acks to be sent for a single
packet. In the case that a tcp_dma_early_copy() is successful,
copied_early is set to true which causes tcp_cleanup_rbuf() to be
called early which can send an ack. Further along in
tcp_rcv_established(), __tcp_ack_snd_check() is called and will
schedule a delayed ACK. If no packets are processed before the delayed
ack timer expires the packet will be acked twice.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet: only invoke dev->change_rx_flags when device is UP
Patrick McHardy [Tue, 7 Oct 2008 22:26:48 +0000 (15:26 -0700)]
net: only invoke dev->change_rx_flags when device is UP

Jesper Dangaard Brouer <hawk@comx.dk> reported a bug when setting a VLAN
device down that is in promiscous mode:

When the VLAN device is set down, the promiscous count on the real
device is decremented by one by vlan_dev_stop(). When removing the
promiscous flag from the VLAN device afterwards, the promiscous
count on the real device is decremented a second time by the
vlan_change_rx_flags() callback.

The root cause for this is that the ->change_rx_flags() callback is
invoked while the device is down. The synchronization is meant to mirror
the behaviour of the ->set_rx_mode callbacks, meaning the ->open function
is responsible for doing a full sync on open, the ->close() function is
responsible for doing full cleanup on ->stop() and ->change_rx_flags()
is meant to do incremental changes while the device is UP.

Only invoke ->change_rx_flags() while the device is UP to provide the
intended behaviour.

Tested-by: Jesper Dangaard Brouer <jdb@comx.dk>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoSLOB: fix bogus ksize calculation
Matt Mackall [Tue, 7 Oct 2008 16:37:35 +0000 (11:37 -0500)]
SLOB: fix bogus ksize calculation

SLOB's ksize calculation was braindamaged and generally harmlessly
underreported the allocation size. But for very small buffers, it could
in fact overreport them, leading code depending on krealloc to overrun
the allocation and trample other data.

Signed-off-by: Matt Mackall <mpm@selenic.com>
Tested-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoRevert "V4L/DVB (8904): cx88: add missing unlock_kernel"
Linus Torvalds [Tue, 7 Oct 2008 14:54:34 +0000 (07:54 -0700)]
Revert "V4L/DVB (8904): cx88: add missing unlock_kernel"

This reverts commit 135aedc38e812b922aa56096f36a3d72ffbcf2fb, as
requested by Hans Verkuil.

It was a patch for 2.6.28 where the BKL was pushed down from v4l core to
the drivers, not for 2.6.27!

Requested-by: Hans Verkuil <hverkuil@xs4all.nl>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-of-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoLinux 2.6.27-rc9
Linus Torvalds [Mon, 6 Oct 2008 23:39:58 +0000 (16:39 -0700)]
Linux 2.6.27-rc9

16 years agoMarker depmod fix core kernel list
Mathieu Desnoyers [Mon, 6 Oct 2008 13:30:12 +0000 (09:30 -0400)]
Marker depmod fix core kernel list

* Theodore Ts'o (tytso@mit.edu) wrote:
>
> I've been playing with adding some markers into ext4 to see if they
> could be useful in solving some problems along with Systemtap.  It
> appears, though, that as of 2.6.27-rc8, markers defined in code which is
> compiled directly into the kernel (i.e., not as modules) don't show up
> in Module.markers:
>
> kvm_trace_entryexit arch/x86/kvm/kvm-intel  %u %p %u %u %u %u %u %u
> kvm_trace_handler arch/x86/kvm/kvm-intel  %u %p %u %u %u %u %u %u
> kvm_trace_entryexit arch/x86/kvm/kvm-amd  %u %p %u %u %u %u %u %u
> kvm_trace_handler arch/x86/kvm/kvm-amd  %u %p %u %u %u %u %u %u
>
> (Note the lack of any of the kernel_sched_* markers, and the markers I
> added for ext4_* and jbd2_* are missing as wel.)
>
> Systemtap apparently depends on in-kernel trace_mark being recorded in
> Module.markers, and apparently it's been claimed that it used to be
> there.  Is this a bug in systemtap, or in how Module.markers is getting
> built?   And is there a file that contains the equivalent information
> for markers located in non-modules code?

I think the problem comes from "markers: fix duplicate modpost entry"
(commit d35cb360c29956510b2fe1a953bd4968536f7216)

Especially :

  -   add_marker(mod, marker, fmt);
  +   if (!mod->skip)
  +     add_marker(mod, marker, fmt);
    }
    return;
   fail:

Here is a fix that should take care if this problem.

Thanks for the bug report!

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Tested-by: "Theodore Ts'o" <tytso@mit.edu>
CC: Greg KH <greg@kroah.com>
CC: David Smith <dsmith@redhat.com>
CC: Roland McGrath <roland@redhat.com>
CC: Sam Ravnborg <sam@ravnborg.org>
CC: Wenji Huang <wenji.huang@oracle.com>
CC: Takashi Nishiie <t-nishiie@np.css.fujitsu.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel...
Linus Torvalds [Mon, 6 Oct 2008 21:30:02 +0000 (14:30 -0700)]
Merge branch 'for_linus' of git://git./linux/kernel/git/jwessel/linux-2.6-kgdb

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:
  kgdb: call touch_softlockup_watchdog on resume
  kgdb, x86: Avoid invoking kgdb_nmicallback twice per NMI

16 years agoMerge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Mon, 6 Oct 2008 21:29:16 +0000 (14:29 -0700)]
Merge branch 'x86-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86: gart iommu have direct mapping when agp is present too

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
Linus Torvalds [Mon, 6 Oct 2008 21:27:57 +0000 (14:27 -0700)]
Merge git://git./linux/kernel/git/bart/ide-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:
  ide: workaround for bogus gcc warning in ide_sysfs_register_port()
  ide-cd: Optiarc DVD RW AD-7200A does play audio
  IDE: Fix platform device registration in Swarm IDE driver (v2)
  ide-dma: fix ide_build_dmatable() for TRM290
  ide-cd: temporary tray close fix

16 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Mon, 6 Oct 2008 21:27:39 +0000 (14:27 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
  [MIPS] IP27: Fix build errors if CONFIG_MAPPED_KERNEL=y
  [MIPS] Fix CMP Kconfig configuration and mark as broken.

16 years agoMerge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb
Linus Torvalds [Mon, 6 Oct 2008 21:27:15 +0000 (14:27 -0700)]
Merge branch 'fixes' of git://git./linux/kernel/git/mchehab/v4l-dvb

* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (33 commits)
  V4L/DVB (9103): em28xx: HVR-900 B3C0 - fix audio clicking issue
  V4L/DVB (9099): em28xx: Add detection for K-WORLD DVB-T 310U
  V4L/DVB (9092): gspca: Bad init values for sonixj ov7660.
  V4L/DVB (9080): gspca: Add a delay after writing to the sonixj sensors.
  V4L/DVB (9075): gspca: Bad check of returned status in i2c_read() spca561.
  V4L/DVB (9053): fix buffer overflow in uvc-video
  V4L/DVB (9043): S5H1420: Fix size of shadow-array to avoid overflow
  V4L/DVB (9037): Fix support for Hauppauge Nova-S SE
  V4L/DVB (9029): Fix deadlock in demux code
  V4L/DVB (8979): sms1xxx: Add new USB product ID for Hauppauge WinTV MiniStick
  V4L/DVB (8978): sms1xxx: fix product name for Hauppauge WinTV MiniStick
  V4L/DVB (8967): Use correct XC3028L firmware for AMD ATI TV Wonder 600
  V4L/DVB (8963): s2255drv field count fix
  V4L/DVB (8961): zr36067: Fix RGBR pixel format
  V4L/DVB (8960): drivers/media/video/cafe_ccic.c needs mm.h
  V4L/DVB (8958): zr36067: Return proper bytes-per-line value
  V4L/DVB (8957): zr36067: Restore the default pixel format
  V4L/DVB (8955): bttv: Prevent NULL pointer dereference in radio_open
  V4L/DVB (8935): em28xx-cards: Remove duplicate entry (EM2800_BOARD_KWORLD_USB2800)
  V4L/DVB (8933): gspca: Disable light frquency for zc3xx cs2102 Kokom.
  ...

16 years agoatmel-mci: Initialize BLKR before sending data transfer command
Haavard Skinnemoen [Mon, 6 Oct 2008 18:09:53 +0000 (20:09 +0200)]
atmel-mci: Initialize BLKR before sending data transfer command

The atmel-mci driver sometimes fails data transfers like this:

   mmcblk0: error -5 transferring data
   end_request: I/O error, dev mmcblk0, sector 2749769
   end_request: I/O error, dev mmcblk0, sector 2749777

It turns out that this might be caused by the BLKR register (which
contains the block size and the number of blocks being transfered) being
initialized too late. This patch moves the initialization of BLKR so
that it contains the correct value before the block transfer command is
sent.

This error is difficult to reproduce, but if you insert a long delay
(mdelay(10) or thereabouts) between the calls to atmci_start_command()
and atmci_submit_data(), all transfers seem to fail without this patch,
while I haven't seen any failures with this patch.

Reported-by: Hein_Tibosch <hein_tibosch@yahoo.es>
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agonetrom: Fix sock_orphan() use in nr_release
Jarek Poplawski [Mon, 6 Oct 2008 19:54:57 +0000 (12:54 -0700)]
netrom: Fix sock_orphan() use in nr_release

While debugging another bug it was found that NetRom socks
are sometimes seen unorphaned in sk_free(). This patch moves
sock_orphan() in nr_release() to the beginning (like in ax25,
or rose).

Reported-and-tested-by: Bernard Pidoux f6bvp <f6bvp@free.fr>
Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoax25: Quick fix for making sure unaccepted sockets get destroyed.
David S. Miller [Mon, 6 Oct 2008 19:53:50 +0000 (12:53 -0700)]
ax25: Quick fix for making sure unaccepted sockets get destroyed.

Since we reverted 30902dc3cb0ea1cfc7ac2b17bcf478ff98420d74 ("ax25: Fix
std timer socket destroy handling.") we have to put some kind of fix
in to cure the issue whereby unaccepted connections do not get destroyed.

The approach used here is from Tihomir Heidelberg - 9a4gl

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRevert "ax25: Fix std timer socket destroy handling."
David S. Miller [Mon, 6 Oct 2008 19:48:29 +0000 (12:48 -0700)]
Revert "ax25: Fix std timer socket destroy handling."

This reverts commit 30902dc3cb0ea1cfc7ac2b17bcf478ff98420d74.

It causes all kinds of problems, based upon a report by
Bernard (f6bvp) and analysis by Jarek Poplawski.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agokgdb: call touch_softlockup_watchdog on resume
Jason Wessel [Mon, 6 Oct 2008 18:50:59 +0000 (13:50 -0500)]
kgdb: call touch_softlockup_watchdog on resume

The softlockup watchdog needs to be touched when resuming the from the
kgdb stopped state to avoid the printk that a CPU is stuck if the
debugger was active for longer than the softlockup threshold.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
16 years agokgdb, x86: Avoid invoking kgdb_nmicallback twice per NMI
Jan Kiszka [Mon, 6 Oct 2008 18:50:59 +0000 (13:50 -0500)]
kgdb, x86: Avoid invoking kgdb_nmicallback twice per NMI

Stress-testing KVM's latest NMI support with kgdbts inside an SMP guest,
I came across spurious unhandled NMIs while running the singlestep test.
Looking closer at the code path each NMI takes when KGDB is enabled, I
noticed that kgdb_nmicallback is called twice per event: One time via
DIE_NMI_IPI notification, the second time on DIE_NMI. Removing the first
invocation cures the unhandled NMIs here.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
16 years agox86 ACPI: Blacklist two HP machines with buggy BIOSes
Rafael J. Wysocki [Mon, 6 Oct 2008 09:59:29 +0000 (11:59 +0200)]
x86 ACPI: Blacklist two HP machines with buggy BIOSes

There is a bug in the BIOSes of some HP boxes with AMD Turions which
connects IO-APIC pins with ACPI thermal trip points in such a way that
if the state of the IO-APIC is not as expected by the (buggy) BIOS, the
thermal trip points are set to insanely low values (usually all of them
become 16 degrees Celsius).  As a result, thermal throttling kicks in
and knock the system down to its shoes.

Unfortunately some of the recent IO-APIC changes made the bug show up.
To prevent this from happening, blacklist machines that are known to be
affected (nx6115 and 6715b in this particular case).

This fixes http://bugzilla.kernel.org/show_bug.cgi?id=11516 listed as
a regression from 2.6.26.

On my box it was caused by:

commit 691874fa96d6349a8b60f8ea9c2bae52ece79941
Author: Maciej W. Rozycki <macro@linux-mips.org>
Date:   Tue May 27 21:19:51 2008 +0100

    x86: I/O APIC: timer through 8259A second-chance

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
and the whole story is described in this (huge) thread:

    http://marc.info/?l=linux-kernel&m=121358440508410&w=4

Matthew Garrett told us about that happening on the nx6125:

    http://marc.info/?l=linux-kernel&m=121396307411930&w=4

and then Maciej analysed the breakage on the basis of a DSDT from the
nx6325:

    http://marc.info/?l=linux-kernel&m=121401068718826&w=4

As far as the Dmitry's and Jason's boxes are concerned, I recognized the
symptoms and asked them to verify that the blacklisting helped.

It appears that the buggy BIOS code has been copy-pasted to the entire
range of machines, for no good reason.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Tested-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Tested-by: Jason Vas Dias <jason.vas.dias@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years ago[Bluetooth] Add reset quirk for A-Link BlueUSB21 dongle
Marcel Holtmann [Mon, 6 Oct 2008 10:22:52 +0000 (12:22 +0200)]
[Bluetooth] Add reset quirk for A-Link BlueUSB21 dongle

The new A-Link Bluetooth dongle is another one based on the BCM2046 chip
from Broadcom and it also needs to send HCI_Reset before it becomes fully
operational. Without the quirk it will show a lot of I/O errors.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
16 years ago[Bluetooth] Add reset quirk for new Targus and Belkin dongles
Marcel Holtmann [Mon, 6 Oct 2008 10:22:51 +0000 (12:22 +0200)]
[Bluetooth] Add reset quirk for new Targus and Belkin dongles

Targus and Belkin have come out with new Bluetooth 2.1 capable dongles
using the latest BCM2046 chip from Broadcom. Both of them are so called
HID proxy dongles and they need to send HCI_Reset before they become
fully operational.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
16 years ago[Bluetooth] Fix double frees on error paths of btusb and bpa10x drivers
Marcel Holtmann [Mon, 6 Oct 2008 10:22:51 +0000 (12:22 +0200)]
[Bluetooth] Fix double frees on error paths of btusb and bpa10x drivers

The transfer buffer of an URB will be automatically freed when using
the URB_FREE_BUFFER transfer_flag. So the extra calls to kfree() will
cause a double free.

Reported-by: Justin Mattock <justinmattock@gmail.com>
Signed-off-by: Rabin Vincent <rabin@rab.in>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
16 years ago[MIPS] IP27: Fix build errors if CONFIG_MAPPED_KERNEL=y
Ralf Baechle [Fri, 3 Oct 2008 21:43:38 +0000 (22:43 +0100)]
[MIPS] IP27: Fix build errors if CONFIG_MAPPED_KERNEL=y

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] Fix CMP Kconfig configuration and mark as broken.
Ralf Baechle [Fri, 3 Oct 2008 23:06:29 +0000 (00:06 +0100)]
[MIPS] Fix CMP Kconfig configuration and mark as broken.

Because sync-r4k.c doesn't build.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years agoide: workaround for bogus gcc warning in ide_sysfs_register_port()
Bartlomiej Zolnierkiewicz [Sun, 5 Oct 2008 16:23:28 +0000 (18:23 +0200)]
ide: workaround for bogus gcc warning in ide_sysfs_register_port()

Reported-by: "Steven Noonan" <steven@uplinklabs.net>
Suggested-by: "Elias Oltmanns" <eo@nebensachen.de>
Cc: mingo@elte.hu
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>