safe/jmp/linux-2.6
13 years agoALSA: intelhdmi - add id for the CougarPoint chipset
Wu Fengguang [Fri, 14 May 2010 08:36:14 +0000 (16:36 +0800)]
ALSA: intelhdmi - add id for the CougarPoint chipset

Add id for Intel CougarPoint HDMI audio codec.

CougarPoint provides 3 Audio Converters.
Increase MAX_HDMI_CVTS/MAX_HDMI_PINS accordingly.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: intelhdmi - user friendly codec name
Wu Fengguang [Fri, 14 May 2010 08:36:13 +0000 (16:36 +0800)]
ALSA: intelhdmi - user friendly codec name

Use the full chipset codename as codec name.
They are more user friendly than the spec abbrs.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: intelhdmi - add dependency on SND_DYNAMIC_MINORS
Wu Fengguang [Fri, 14 May 2010 08:36:12 +0000 (16:36 +0800)]
ALSA: intelhdmi - add dependency on SND_DYNAMIC_MINORS

This is necessary to support >=3 HDMI playback devices
starting from the CougarPoint codec.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years ago[ALSA] snd-hda-intel: Improve azx_position_ok()
Jaroslav Kysela [Tue, 11 May 2010 10:10:47 +0000 (12:10 +0200)]
[ALSA] snd-hda-intel: Improve azx_position_ok()

Add back the zero return value (activate workqueue) when
bdl_pos_adj is nonzero for position check.

Do the position related check only for first next period
using wallclk counter.

Return -1 value (ignore interrupt) when period_bytes
variable is zero.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
13 years ago[ALSA] snd-hda-intel: use WALLCLK register to check for early irqs
Jaroslav Kysela [Tue, 11 May 2010 08:21:46 +0000 (10:21 +0200)]
[ALSA] snd-hda-intel: use WALLCLK register to check for early irqs

Use 24Mhz WALLCLK register to ignore too early interrupts and
wrong interrupt status. The bad timing confuses the higher ALSA
layer and causes audio skipping. More information about behaviour
and debugging can be found in kernel bz#15912.

https://bugzilla.kernel.org/show_bug.cgi?id=15912

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
13 years agoALSA: hda - Fixes distorted recording on US15W chipset
Shahin Ghazinouri [Tue, 11 May 2010 06:19:55 +0000 (08:19 +0200)]
ALSA: hda - Fixes distorted recording on US15W chipset

The HDA controller in US15W (Poulsbo) reports inaccurate position values
for capture streams when using the LPIB read method, resulting in
distorted recordings.

However, using the position buffer is broken for playback streams,
resulting in a fallback to the LPIB method with the current driver.
This patch works around the issue by independently detecting the read
position method for capture and playback streams.

The patch will not have any effect if the position fix method is
explicitly set.

[Code simplified by tiwai]

Signed-off-by: Shahin Ghazinouri <shahin.ghazinouri@pelagicore.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Mon, 10 May 2010 15:24:03 +0000 (17:24 +0200)]
Merge branch 'fix/hda' into topic/hda

13 years agoALSA: Revert "ALSA: hda/realtek: quirk for D945GCLF2 mainboard"
Stefan Lippers-Hollmann [Mon, 10 May 2010 15:14:34 +0000 (17:14 +0200)]
ALSA: Revert "ALSA: hda/realtek: quirk for D945GCLF2 mainboard"

This reverts commit 7aee67466536bbf8bb44a95712c848a61c5a0acd.

As it doesn't seem to be universally valid for all mainboard revisions of
the D945GCLF2 and breaks snd-hda-intel/ snd-hda-codec-realtek on the Intel
Corporation "D945GCLF2" (LF94510J.86A.0229.2009.0729.0209) mainboard.

00:1b.0 Audio device [0403]: Intel Corporation N10/ICH 7 Family High Definition Audio Controller [8086:27d8] (rev 01)

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Cc: <stable@kernel.org> [2.6.33]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda: enable SPDIF output for Conexant 5051/Lenovo docking stations
Pierre-Louis Bossart [Thu, 6 May 2010 21:37:03 +0000 (16:37 -0500)]
ALSA: hda: enable SPDIF output for Conexant 5051/Lenovo docking stations

This patch enables the SPDIF output pin by default. It also enables
it for quirks related to Levono docking stations (x200 and 25041,
identified with the same 17aa:20f2 ID). Even though not all Lenovo
docking stations have SPDIF connectors, enabling the pin by default
shouldn't be a problem for anyone.
Other quirks remain unmodified.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - add support for Lenovo ThinkPad X100e in conexant codec
Andrej Gelenberg [Sun, 9 May 2010 20:10:41 +0000 (22:10 +0200)]
ALSA: hda - add support for Lenovo ThinkPad X100e in conexant codec

Ideapad quirks working for my ThinkPad X100e (microphone is not tested).

Signed-off-by: Andrej Gelenberg <andrej.gelenberg@udo.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - fix DG45ID SPDIF output
Wu Fengguang [Fri, 7 May 2010 00:47:54 +0000 (08:47 +0800)]
ALSA: hda - fix DG45ID SPDIF output

This reverts part of commit 52dc438606d1e, in order to fix a regression:
broken SPDIF output on Intel DG45FC motherboard (IDT 92HD73E1X5 codec).

--- DG45FC-IDT-codec-2.6.32  (SPDIF OK)
+++ DG45FC-IDT-codec-2.6.33  (SPDIF broken)

 Node 0x22 [Pin Complex] wcaps 0x400301: Stereo Digital
   Pincap 0x00000010: OUT
-  Pin Default 0x40f000f0: [N/A] Other at Ext N/A
-    Conn = Unknown, Color = Unknown
-    DefAssociation = 0xf, Sequence = 0x0
-  Pin-ctls: 0x00:
+  Pin Default 0x014510a0: [Jack] SPDIF Out at Ext Rear
+    Conn = Optical, Color = Black
+    DefAssociation = 0xa, Sequence = 0x0
+  Pin-ctls: 0x40: OUT
   Connection: 3
      0x25* 0x20 0x21
 Node 0x23 [Pin Complex] wcaps 0x400301: Stereo Digital
   Pincap 0x00000010: OUT
-  Pin Default 0x01451140: [Jack] SPDIF Out at Ext Rear
+  Pin Default 0x074510b0: [Jack] SPDIF Out at Ext Rear Panel
     Conn = Optical, Color = Black
-    DefAssociation = 0x4, Sequence = 0x0
-    Misc = NO_PRESENCE
-  Pin-ctls: 0x40: OUT
+    DefAssociation = 0xb, Sequence = 0x0
+  Pin-ctls: 0x00:
   Connection: 3
      0x26* 0x20 0x21

Cc: <stable@kernel.org>
Cc: Alexey Fisher <bug-track@fisher-privat.net>
Tested-by: David Härdeman <david@hardeman.nu>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Remove superfluous external amp setup for ALC888
Takashi Iwai [Thu, 6 May 2010 06:40:25 +0000 (08:40 +0200)]
ALSA: hda - Remove superfluous external amp setup for ALC888

We had a fixed external amp setup enabled for ALC888, but this seems
unnecessary.  The amps are controlled rather by GPIOs.
Let's remove it now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Thu, 6 May 2010 06:39:43 +0000 (08:39 +0200)]
Merge branch 'fix/hda' into topic/hda

13 years agoALSA: hda: Fix 0 dB for Packard Bell models using Conexant CX20549 (Venice)
Daniel T Chen [Wed, 28 Apr 2010 22:00:11 +0000 (18:00 -0400)]
ALSA: hda: Fix 0 dB for Packard Bell models using Conexant CX20549 (Venice)

BugLink: https://launchpad.net/bugs/541802
The OR's hardware distorts at PCM 100% because it does not correspond to
0 dB. Fix this in patch_cxt5045() for all Packard Bell models.

Reported-by: Valombre
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Add quirk for Dell Inspiron 19T using a Conexant CX20582
Anisse Astier [Wed, 28 Apr 2010 16:05:06 +0000 (18:05 +0200)]
ALSA: hda - Add quirk for Dell Inspiron 19T using a Conexant CX20582

Add a quirk for all-in-one computer Dell Inspiron One 19 Touch to have proper
HP and Mic support.

Signed-off-by: Anisse Astier <anisse@astier.eu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda: Use olpc-xo-1_5 quirk for Toshiba Satellite P500-PSPGSC-01800T
Daniel T Chen [Wed, 5 May 2010 02:07:58 +0000 (22:07 -0400)]
ALSA: hda: Use olpc-xo-1_5 quirk for Toshiba Satellite P500-PSPGSC-01800T

BugLink: https://launchpad.net/bugs/549267
The OR verified that using the olpc-xo-1_5 model quirk allows the
headphones to be audible when inserted into the jack. Capture was
also verified to work correctly.

Reported-by: Richard Gagne
Tested-by: Richard Gagne
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda: Use olpc-xo-1_5 quirk for Toshiba Satellite Pro T130-15F
Daniel T Chen [Tue, 4 May 2010 00:39:31 +0000 (20:39 -0400)]
ALSA: hda: Use olpc-xo-1_5 quirk for Toshiba Satellite Pro T130-15F

BugLink: https://launchpad.net/bugs/573284
The OR verified that using the olpc-xo-1_5 model quirk allows the
headphones to be audible when inserted into the jack. Capture was
also verified to work correctly.

Reported-by: Andy Couldrake <acouldrake@googlemail.com>
Tested-by: Andy Couldrake <acouldrake@googlemail.com>
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - fix array indexing while creating inputs for Cirrus codecs
Brian J. Tarricone [Mon, 3 May 2010 00:32:10 +0000 (17:32 -0700)]
ALSA: hda - fix array indexing while creating inputs for Cirrus codecs

This fixes a problem where cards show up as only having a single mixer
element, suppressing all sound output.

Signed-off-by: Brian J. Tarricone <brian@tarricone.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda: Use STAC_DELL_M6_BOTH quirk for Dell Studio 1558
Daniel T Chen [Thu, 22 Apr 2010 21:54:45 +0000 (17:54 -0400)]
ALSA: hda: Use STAC_DELL_M6_BOTH quirk for Dell Studio 1558

BugLink: https://launchpad.net/bugs/568600
The OR has verified that the dell-m6 model quirk is necessary for audio
to be audible by default on the Dell Studio XPS 1645.

This change is necessary for 2.6.32.11 and 2.6.33.2 alike.

Reported-by: Andy Ross <andy@plausible.org>
Tested-by: Andy Ross <andy@plausible.org>
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda: Use LPIB quirk for DG965OT board version AAD63733-203
Daniel T Chen [Wed, 21 Apr 2010 23:55:43 +0000 (19:55 -0400)]
ALSA: hda: Use LPIB quirk for DG965OT board version AAD63733-203

BugLink: https://launchpad.net/bugs/459083
The OR has verified with 2.6.32.11 and the latest alsa-driver stable
daily snapshot that position_fix=1 is necessary for the external mic
to work and for PulseAudio not to crash constantly.

This patch is necessary also for 2.6.32.11 and 2.6.33.2.

Reported-by: <imwithid@yahoo.com>
Tested-by: <imwithid@yahoo.com>
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda: Use ALC880_F1734 quirk for Fujitsu Siemens AMILO Xi 1526
Daniel T Chen [Thu, 22 Apr 2010 11:15:26 +0000 (07:15 -0400)]
ALSA: hda: Use ALC880_F1734 quirk for Fujitsu Siemens AMILO Xi 1526

BugLink: https://launchpad.net/bugs/567494
The OR has verified that the existing model quirk, ALC880_UNIWILL,
is insufficient for audible playback and capture by default. Instead,
the ALC880_F1734 model quirk needs to be used.

This change is necessary for both 2.6.32.11 and 2.6.33.2.

Reported-by: Arnaud Malpeyre <amalpeyre@gmail.com>
Tested-by: Arnaud Malpeyre <amalpeyre@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda: Use STAC_DELL_M6_BOTH quirk for Dell Studio XPS 1645
Daniel T Chen [Thu, 22 Apr 2010 00:41:52 +0000 (20:41 -0400)]
ALSA: hda: Use STAC_DELL_M6_BOTH quirk for Dell Studio XPS 1645

BugLink: https://launchpad.net/bugs/553002
The OR has verified that the dell-m6 model quirk is necessary for audio
to be audible by default on the Dell Studio XPS 1645.

This change is necessary for 2.6.32.11 and 2.6.33.2 alike.

Reported-by: Robert Chambers
Tested-by: Robert Chambers
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Fix resume from StR of HP 2510p with docking-station
Takashi Iwai [Mon, 19 Apr 2010 16:11:29 +0000 (18:11 +0200)]
ALSA: hda - Fix resume from StR of HP 2510p with docking-station

When HP laptop with AD1981 codec is suspended and the docking-station
is connected before the resume, the outputs get confused, and wrongly
routed still to the speaker.  This is because of a change in 2.6.34-rc1
ea52bf260ecbb175339af3178c15788df21b7516
    ALSA: hda: Add powerdown for Analog Devices HDA codecs

The problem was the added resume callback that doesn't consider the
modified init hook.  The fix is simply remove the resume callback here
and make the resume normally.  This doesn't change any behavior intended
in the commit above (for shutting down the sound at suspend) but only
fixes the resume.

Reported-and-tested-by: Frans Pop <elendil@planet.nl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Add initial support for Thinkpad T410s HDA codec
Jens Taprogge [Wed, 14 Apr 2010 21:42:04 +0000 (23:42 +0200)]
ALSA: hda - Add initial support for Thinkpad T410s HDA codec

attached please find a patch that adds support for at least the T410s
HDA codec.  Most likely it will also add support for the T410 and T510
based models.

The patch was derived from Ideapad support.  Support for the laptop's and
docking-station output connectors as well as the docking-station microphone
connector and the laptops internal devices has been tested.  Since it has been
developed without a data-sheet available, support for digital outputs and the
laptop's microphone input may well be incorrect.

Microphone mute functionality is not included:
The microphone mute button seems to be reported through thinkpad_acpi key
0000101b.  The mute button LED seems to be wired to thinkpad_acpi led
number 15.

Signed-off-by: Jens Taprogge <jens.taprogge@taprogge.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Thu, 15 Apr 2010 07:09:02 +0000 (09:09 +0200)]
Merge branch 'fix/hda' into topic/hda

14 years agoALSA: hda - Add position_fix quirk for Biostar mobo
Takashi Iwai [Thu, 15 Apr 2010 07:02:41 +0000 (09:02 +0200)]
ALSA: hda - Add position_fix quirk for Biostar mobo

The Biostar mobo seems to give a wrong DMA position, resulting in
stuttering or skipping sounds on 2.6.34.  Since the commit
7b3a177b0d4f92b3431b8dca777313a07533a710, "ALSA: pcm_lib: fix "something
must be really wrong" condition", makes the position check more strictly,
the DMA position problem is revealed more clearly now.

The fix is to use only LPIB for obtaining the position, i.e. passing
position_fix=1.  This patch adds a static quirk to achieve it as default.

Reported-by: Frank Griffin <ftg@roadrunner.com>
Cc: Eric Piel <Eric.Piel@tremplin-utc.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - add a quirk for Clevo M570U laptop
Joerg Schirottke [Thu, 15 Apr 2010 06:37:41 +0000 (08:37 +0200)]
ALSA: hda - add a quirk for Clevo M570U laptop

Added the matching model for Clevo laptop M570U.

Signed-off-by: Joerg Schirottke <master@kanotix.com>
Tested-by: Maximilian Gerhard <maxbox@directbox.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Wed, 14 Apr 2010 12:39:21 +0000 (14:39 +0200)]
Merge branch 'fix/hda' into topic/hda

14 years agoALSA: hda - Avoid invalid "Independent HP" control for VIA codecs
Takashi Iwai [Wed, 14 Apr 2010 12:36:23 +0000 (14:36 +0200)]
ALSA: hda - Avoid invalid "Independent HP" control for VIA codecs

Some VIA codecs have no multiple source selection for headphone pins,
thus it's useless (and wrong) to create "Independent HP" control on them.

This patch adds the check of connections to skip the control in such a
case.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Fix control element allocations in VIA codec parser
Takashi Iwai [Wed, 14 Apr 2010 12:33:57 +0000 (14:33 +0200)]
ALSA: hda - Fix control element allocations in VIA codec parser

The commit 5b0cb1d850c26893b1468b3a519433a1b7a176be
    ALSA: hda - add more NID->Control mapping
breaks the control element allocation by returning a wrong value.
Let's fix it.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Add fix-up for Sony VAIO with ALC269
Takashi Iwai [Mon, 12 Apr 2010 06:59:25 +0000 (08:59 +0200)]
ALSA: hda - Add fix-up for Sony VAIO with ALC269

Sony VAIO models with ALC269 need to initialize the pin 0x19 to VREF
ground or Hi-Z to make the headphone working.  Other than that, model=auto
works fine, so let's use model=auto with a specific fix-up table.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Enhance fix-up table for Realtek codecs
Takashi Iwai [Mon, 12 Apr 2010 06:49:00 +0000 (08:49 +0200)]
ALSA: hda - Enhance fix-up table for Realtek codecs

A few enhancement / fixes for fix-up table of some Realtek codecs:
 - Apply fix-ups only for the auto model
 - Apply additional verbs after normal init verbs
 - Add a debug print to show the fix-up application

This is basically a preliminary work for the next fix for Sony VAIO.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Fri, 9 Apr 2010 15:36:19 +0000 (17:36 +0200)]
Merge branch 'fix/hda' into topic/hda

14 years agoALSA: hda - Fix initial capture source connections of ALC880/260
Takashi Iwai [Fri, 9 Apr 2010 15:32:23 +0000 (17:32 +0200)]
ALSA: hda - Fix initial capture source connections of ALC880/260

The widget connections of ADC of ALC880 and ALC2260 aren't initialized,
thus it might point to invalid pin.  This can be a problem when mode=auto
and there is only one input pin.  Then user can't change the connection
at all.

This patch adds the code to initialize the input pin connection of these
codecs.

Reference: Novell bnc#594363
https://bugzilla.novell.com/show_bug.cgi?id=594363

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Fix setup for ALC269vb amic and dmic models
Kailang Yang [Fri, 9 Apr 2010 09:01:20 +0000 (11:01 +0200)]
ALSA: hda - Fix setup for ALC269vb amic and dmic models

Corrected HP and mic pins for ALC269vb amic and dmic models.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Fix auto-parser of ALC269vb for HP pin NID 0x21
Kailang Yang [Fri, 9 Apr 2010 08:57:33 +0000 (10:57 +0200)]
ALSA: hda - Fix auto-parser of ALC269vb for HP pin NID 0x21

ALC269vb has an alternative HP pin 0x21 in addition.
Fix the parser to recognize it.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda: Add support for Medion WIM2160
Maurus Cuelenaere [Tue, 6 Apr 2010 16:12:52 +0000 (18:12 +0200)]
ALSA: hda: Add support for Medion WIM2160

This adds support for the Medion WIM2160 soundcard.
There's no PCI quirk added because it has the same PCI id as the
Medion MD2.

Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Remove left-over debug printk in patch_realtek.c
Takashi Iwai [Wed, 7 Apr 2010 12:53:00 +0000 (14:53 +0200)]
ALSA: hda - Remove left-over debug printk in patch_realtek.c

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Fix ALC882 DAC connections in auto mode
Takashi Iwai [Wed, 7 Apr 2010 07:06:00 +0000 (09:06 +0200)]
ALSA: hda - Fix ALC882 DAC connections in auto mode

Assign DACs properly to each output.  Currently, the front output is bound
to HP/speaker outputs blindly, but they should be assigned to individual
DACs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Wed, 7 Apr 2010 06:38:47 +0000 (08:38 +0200)]
Merge branch 'fix/hda' into topic/hda

14 years agoALSA: hda - Fix a wrong array range check in patch_realtek.c
Takashi Iwai [Mon, 5 Apr 2010 21:25:13 +0000 (23:25 +0200)]
ALSA: hda - Fix a wrong array range check in patch_realtek.c

The commit 6a4f2ccb467e00281470cde2dee08fe5ecde62d1 introduced a wrong
comparision for the array range check, which effectively skips the whole
initialization of DAC connections.  Fixed now.

Reference: bko#15689
https://bugzilla.kernel.org/show_bug.cgi?id=15689

Reported-by: Adrian Ulrich <kernel@blinkenlights.ch>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Enable amplifiers on Acer Inspire 6530G
Tony Vroon [Mon, 5 Apr 2010 15:30:43 +0000 (16:30 +0100)]
ALSA: hda - Enable amplifiers on Acer Inspire 6530G

After more tests it appears that EAPD needs to be enabled
on both the 0x14 and 0x15 NIDs to enable the main speaker
and headphone amplifiers. The maximum volume setting is
now equal to what the machine achieves under other operating
systems.
Disabling Front or LFE playback triggers EAPD and disables
the amplifier. As such, these two playback switches have
been removed from the mixer.

Signed-off-by: Tony Vroon <tony@linx.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Add MSI blacklist for Aopen MZ915-M
Takashi Iwai [Sun, 4 Apr 2010 10:14:03 +0000 (12:14 +0200)]
ALSA: hda - Add MSI blacklist for Aopen MZ915-M

The device needs MSI disablement.  Added to the quirk list.

Reported-by: Harald Dunkel <harri@afaics.de>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Update document about MSI and interrupts
Takashi Iwai [Thu, 1 Apr 2010 16:08:29 +0000 (18:08 +0200)]
ALSA: hda - Update document about MSI and interrupts

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'topic/hda-alc-mute' into topic/hda
Takashi Iwai [Thu, 1 Apr 2010 14:04:28 +0000 (16:04 +0200)]
Merge branch 'topic/hda-alc-mute' into topic/hda

14 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Thu, 1 Apr 2010 14:04:13 +0000 (16:04 +0200)]
Merge branch 'fix/hda' into topic/hda

14 years agoALSA: hda: Fix 0 dB offset for Lenovo Thinkpad models using AD1981
Daniel T Chen [Tue, 30 Mar 2010 17:29:28 +0000 (13:29 -0400)]
ALSA: hda: Fix 0 dB offset for Lenovo Thinkpad models using AD1981

BugLink: https://launchpad.net/bugs/551606
The OR's hardware distorts at PCM 100% because it does not correspond to
0 dB. Fix this in patch_ad1981() for all models using the Thinkpad
quirk.

Reported-by: Jane Silber
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - introduce snd_hda_codec_update_cache()
Takashi Iwai [Tue, 30 Mar 2010 16:03:44 +0000 (18:03 +0200)]
ALSA: hda - introduce snd_hda_codec_update_cache()

Add a new helper, snd_hda_codec_update_cache(), for reducing the unneeded
verbs.  This function checks the cached value and skips if it's identical
with the given one.  Otherwise it works like snd_hda_codec_write_cache().

The alc269 code uses this function as an example.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Add mute LED support for HP laptop with ALC269
Takashi Iwai [Tue, 30 Mar 2010 16:00:59 +0000 (18:00 +0200)]
ALSA: hda - Add mute LED support for HP laptop with ALC269

Some HP laptops have a mute LED that is controlled over the unused
MIC2 VREF pin.  Implement the LED updater like patch_sigmatel.c for this
model.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Tue, 30 Mar 2010 16:00:42 +0000 (18:00 +0200)]
Merge branch 'fix/hda' into topic/hda

14 years agoALSA: hda - Add missing printk argument in previous patch
Takashi Iwai [Tue, 30 Mar 2010 05:48:05 +0000 (07:48 +0200)]
ALSA: hda - Add missing printk argument in previous patch

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Fix ADC/MUX assignment of ALC269 codec
Takashi Iwai [Mon, 29 Mar 2010 15:21:45 +0000 (17:21 +0200)]
ALSA: hda - Fix ADC/MUX assignment of ALC269 codec

ALC269 codec has a few different variants, and each of them may have
different ADC and MUX widgets.  For example, one model has ADC 0x08
with MUX 0x23 while others has ADC 0x09 or ADC 0x07 with MUX 022 or
0x24.  The difference of ADC appears usually as the capability of
the digital mic pin (0x12), and the current driver sometimes misses
the internal mic pin due to the mismatching ADC.

This patch adds a bit more clever way to find the matching ADC instead
of the static list.  Now the driver checks all active input pins and
fills only the ADC/MUX's that contain all of them.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Report errors when invalid values are passed to snd_hda_amp_*()
Takashi Iwai [Mon, 29 Mar 2010 07:19:38 +0000 (09:19 +0200)]
ALSA: hda - Report errors when invalid values are passed to snd_hda_amp_*()

The values should be in 8 bits.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Mon, 29 Mar 2010 07:20:32 +0000 (09:20 +0200)]
Merge branch 'fix/hda' into topic/hda

14 years agoALSA: hda - Fix invalid bit values passed to snd_hda_codec_amp_stereo()
Takashi Iwai [Mon, 29 Mar 2010 07:16:24 +0000 (09:16 +0200)]
ALSA: hda - Fix invalid bit values passed to snd_hda_codec_amp_stereo()

The mask and value parameters passed to snd_hda_codec_amp_stereo()
should be 8-bit values for mute and volume.  Passing AMP_IN_MUTE() is
wrong, which is found in many places in patch_realtek.c as a left-over
from the conversion to snd_hda_codec_amp_stereo().

Reported-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda: Use LPIB for ga-ma770-ud3 board
Daniel T Chen [Sun, 28 Mar 2010 06:34:40 +0000 (02:34 -0400)]
ALSA: hda: Use LPIB for ga-ma770-ud3 board

BugLink: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=575669
The OR states that position_fix=1 is necessary to work around glitching
during volume adjustments using PulseAudio.

Reported-by: Carlos Laviola <claviola@debian.org>
Tested-by: Carlos Laviola <claviola@debian.org>
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge remote branch 'alsa/devel' into topic/hda
Takashi Iwai [Fri, 26 Mar 2010 14:28:41 +0000 (15:28 +0100)]
Merge remote branch 'alsa/devel' into topic/hda

14 years agoALSA: hda-intel - probe_only module option is int type now
Jaroslav Kysela [Fri, 26 Mar 2010 10:16:59 +0000 (11:16 +0100)]
ALSA: hda-intel - probe_only module option is int type now

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
14 years agoALSA: hda-intel - remove model=hwio from documentation
Jaroslav Kysela [Fri, 26 Mar 2010 10:14:55 +0000 (11:14 +0100)]
ALSA: hda-intel - remove model=hwio from documentation

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
14 years agoALSA: hda-intel - remove model=hwio , use probe_only=3 instead
Jaroslav Kysela [Fri, 26 Mar 2010 10:04:38 +0000 (11:04 +0100)]
ALSA: hda-intel - remove model=hwio , use probe_only=3 instead

The probe_only module parameter skips the codec initialization, too.
Remove the model=hwio code and use second bit in probe_only to
skip the HDA codec reset procedure.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
14 years agoALSA: hda-intel - AD1984 thinkpad - add analog beep input control
Jaroslav Kysela [Fri, 26 Mar 2010 09:33:18 +0000 (10:33 +0100)]
ALSA: hda-intel - AD1984 thinkpad - add analog beep input control

For Lenovo Thinkpad T61/X61, the analog beep input is connected
to node 0x20, index 3. Move the digital beep mute/volume controls
as "Digital Beep" and create analog beep controls for mentioned node.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
14 years agoALSA: hda-intel - add special 'hwio' model to bypass initialization
Jaroslav Kysela [Fri, 26 Mar 2010 09:28:46 +0000 (10:28 +0100)]
ALSA: hda-intel - add special 'hwio' model to bypass initialization

Using the 'model=hwio' option, the driver bypasses any codec
initialization and the reset procedure for codecs is also
bypassed. This mode is usefull to enable direct access using
hwdep interface (using hdaverb or hda-analyzer tools) and
retain codec setup from BIOS.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
14 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Thu, 25 Mar 2010 14:06:58 +0000 (15:06 +0100)]
Merge branch 'fix/hda' into topic/hda

14 years agoALSA: hda - Don't set invalid connection index in Realtek initialiaiton
Takashi Iwai [Thu, 25 Mar 2010 14:00:15 +0000 (15:00 +0100)]
ALSA: hda - Don't set invalid connection index in Realtek initialiaiton

Skip initialization of connections of DAC widgets that aren't used,
which resulted in invalid verb parameters.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: ua101: remove experimental status
Clemens Ladisch [Mon, 22 Mar 2010 14:12:07 +0000 (15:12 +0100)]
ALSA: ua101: remove experimental status

Now that the EHCI driver copes with small iso packets without blowing
up, take the snd-ua101 driver out of the alpha-test stage.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
14 years agoFix up prototype for sys_ipc breakage
Linus Torvalds [Mon, 22 Mar 2010 20:12:33 +0000 (13:12 -0700)]
Fix up prototype for sys_ipc breakage

Commit 45575f5a426c ("ppc64 sys_ipc breakage in 2.6.34-rc2") fixed the
definition of the sys_ipc() helper, but didn't fix the prototype in
<linux/syscalls.h>

Reported-and-tested-by: Andreas Schwab <schwab@linux-m68k.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
Linus Torvalds [Mon, 22 Mar 2010 17:03:51 +0000 (10:03 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/mst/vhost

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
  virtio: console: Check if port is valid in resize_console
  virtio: console: Generate a kobject CHANGE event on adding 'name' attribute

14 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Mon, 22 Mar 2010 17:01:58 +0000 (10:01 -0700)]
Merge git://git./linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (38 commits)
  ip_gre: include route header_len in max_headroom calculation
  if_tunnel.h: add missing ams/byteorder.h include
  ipv4: Don't drop redirected route cache entry unless PTMU actually expired
  net: suppress lockdep-RCU false positive in FIB trie.
  Bluetooth: Fix kernel crash on L2CAP stress tests
  Bluetooth: Convert debug files to actually use debugfs instead of sysfs
  Bluetooth: Fix potential bad memory access with sysfs files
  netfilter: ctnetlink: fix reliable event delivery if message building fails
  netlink: fix NETLINK_RECV_NO_ENOBUFS in netlink_set_err()
  NET_DMA: free skbs periodically
  netlink: fix unaligned access in nla_get_be64()
  tcp: Fix tcp_mark_head_lost() with packets == 0
  net: ipmr/ip6mr: fix potential out-of-bounds vif_table access
  KS8695: update ksp->next_rx_desc_read at the end of rx loop
  igb: Add support for 82576 ET2 Quad Port Server Adapter
  ixgbevf: Message formatting cleanups
  ixgbevf: Shorten up delay timer for watchdog task
  ixgbevf: Fix VF Stats accounting after reset
  ixgbe: Set IXGBE_RSC_CB(skb)->DMA field to zero after unmapping the address
  ixgbe: fix for real_num_tx_queues update issue
  ...

14 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp
Linus Torvalds [Mon, 22 Mar 2010 16:58:04 +0000 (09:58 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/bp/bp

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
  edac, mce: Filter out invalid values

14 years agorxrpc: Check allocation failure.
Tetsuo Handa [Mon, 22 Mar 2010 13:50:19 +0000 (13:50 +0000)]
rxrpc: Check allocation failure.

alloc_skb() can return NULL.

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14 years agoAFS: Potential null dereference
Dan Carpenter [Mon, 22 Mar 2010 13:07:14 +0000 (13:07 +0000)]
AFS: Potential null dereference

It seems clear from the surrounding code that xpermits is allowed to be
NULL here.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14 years agoppc64 sys_ipc breakage in 2.6.34-rc2
Anton Blanchard [Mon, 22 Mar 2010 06:47:59 +0000 (17:47 +1100)]
ppc64 sys_ipc breakage in 2.6.34-rc2

I chased down a fail on ppc64 on 2.6.34-rc2 where an application that
uses shared memory was getting a SEGV.

Commit baed7fc9b580bd3fb8252ff1d9b36eaf1f86b670 ("Add generic sys_ipc
wrapper") changed the second argument from an unsigned long to an int.
When we call shmget the system call wrappers for sys_ipc will sign
extend second (ie the size) which truncates it.  It took a while to
track down because the call succeeds and strace shows the untruncated
size :)

The patch below changes second from an int to an unsigned long which
fixes shmget on ppc64 (and I assume s390, sparc64 and mips64).

Signed-off-by: Anton Blanchard <anton@samba.org>
--

I assume the function prototypes for the other IPC methods would cause us
to sign or zero extend second where appropriate (avoiding any security
issues). Come to think of it, the syscall wrappers for each method should do
that for us as well.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14 years agox86 / perf: Fix suspend to RAM on HP nx6325
Rafael J. Wysocki [Sun, 21 Mar 2010 20:51:51 +0000 (21:51 +0100)]
x86 / perf: Fix suspend to RAM on HP nx6325

Commit 3f6da3905398826d85731247e7fbcf53400c18bd
(perf: Rework and fix the arch CPU-hotplug hooks) broke suspend to
RAM on my HP nx6325 (and most likely on other AMD-based boxes too)
by allowing amd_pmu_cpu_offline() to be executed for CPUs that are
going offline as part of the suspend process.  The problem is that
cpuhw->amd_nb may be NULL already, so the function should make sure
it's not NULL before accessing the object pointed to by it.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14 years agoALSA: hda - Fix uninitialized variable warning in alc_auto_parse_customize_define()
Takashi Iwai [Mon, 22 Mar 2010 16:09:47 +0000 (17:09 +0100)]
ALSA: hda - Fix uninitialized variable warning in alc_auto_parse_customize_define()

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoedac, mce: Filter out invalid values
Borislav Petkov [Tue, 9 Mar 2010 19:38:48 +0000 (20:38 +0100)]
edac, mce: Filter out invalid values

Print the CPU associated with the error only when the field is valid.

Cc: <stable@kernel.org> # .32.x .33.x
Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
14 years agovirtio: console: Check if port is valid in resize_console
Amit Shah [Fri, 19 Mar 2010 12:06:44 +0000 (17:36 +0530)]
virtio: console: Check if port is valid in resize_console

The console port could have been hot-unplugged. Check if it is valid
before working on it.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agovirtio: console: Generate a kobject CHANGE event on adding 'name' attribute
Amit Shah [Fri, 19 Mar 2010 12:06:43 +0000 (17:36 +0530)]
virtio: console: Generate a kobject CHANGE event on adding 'name' attribute

When the host lets us know what 'name' a port is assigned, we create the
sysfs 'name' attribute. Generate a 'change' event after this so that
udev wakes up and acts on the rules for virtio-ports (currently there's
only one rule that creates a symlink from the 'name' to the actual char
device).

Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agoALSA: hda - Fix access-after-free in patch_realtek.c
Takashi Iwai [Mon, 22 Mar 2010 07:30:20 +0000 (08:30 +0100)]
ALSA: hda - Fix access-after-free in patch_realtek.c

alc_free_kctls() has to be called after all jobs done in alc_build_controls().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Sort codec entry list of Nvidia HDMI
Takashi Iwai [Mon, 22 Mar 2010 07:07:55 +0000 (08:07 +0100)]
ALSA: hda - Sort codec entry list of Nvidia HDMI

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Add support of Nvidia GT220 HDMI
Derek Kelly [Mon, 22 Mar 2010 07:04:19 +0000 (08:04 +0100)]
ALSA: hda - Add support of Nvidia GT220 HDMI

This patch adds the device id for Nvidia GT220 cards to the nvhdmi
driver.  I have tested it and confirmed it to be working.

Original patch download link:
https://gist.github.com/324070/

Signed-off-by: Derek Kelly <user.vdr@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda: Fix 0 dB offset for HP laptops using CX20551 (Waikiki)
Daniel T Chen [Sun, 21 Mar 2010 22:34:43 +0000 (18:34 -0400)]
ALSA: hda: Fix 0 dB offset for HP laptops using CX20551 (Waikiki)

BugLink: https://launchpad.net/bugs/420578
The OR has verified that his hardware distorts because of the 0 dB
offset not corresponding to the highest PCM level. Fix this by capping
said PCM level to 0 dB similarly to what we do for CX20549 (Venice).

Reported-by: Mike Pontillo <pontillo@gmail.com>
Tested-by: Mike Pontillo <pontillo@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoip_gre: include route header_len in max_headroom calculation
Timo Teräs [Sat, 20 Mar 2010 02:27:58 +0000 (02:27 +0000)]
ip_gre: include route header_len in max_headroom calculation

Taking route's header_len into account, and updating gre device
needed_headroom will give better hints on upper bound of required
headroom. This is useful if the gre traffic is xfrm'ed.

Signed-off-by: Timo Teras <timo.teras@iki.fi>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoif_tunnel.h: add missing ams/byteorder.h include
Paulius Zaleckas [Mon, 22 Mar 2010 04:19:02 +0000 (21:19 -0700)]
if_tunnel.h: add missing ams/byteorder.h include

When compiling userspace application which includes
if_tunnel.h and uses GRE_* defines you will get undefined
reference to __cpu_to_be16.

Fix this by adding missing #include <asm/byteorder.h>

Cc: stable@kernel.org
Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoipv4: Don't drop redirected route cache entry unless PTMU actually expired
Guenter Roeck [Mon, 22 Mar 2010 03:55:13 +0000 (20:55 -0700)]
ipv4: Don't drop redirected route cache entry unless PTMU actually expired

TCP sessions over IPv4 can get stuck if routers between endpoints
do not fragment packets but implement PMTU instead, and we are using
those routers because of an ICMP redirect.

Setup is as follows

       MTU1    MTU2   MTU1
    A--------B------C------D

with MTU1 > MTU2. A and D are endpoints, B and C are routers. B and C
implement PMTU and drop packets larger than MTU2 (for example because
DF is set on all packets). TCP sessions are initiated between A and D.
There is packet loss between A and D, causing frequent TCP
retransmits.

After the number of retransmits on a TCP session reaches tcp_retries1,
tcp calls dst_negative_advice() prior to each retransmit. This results
in route cache entries for the peer to be deleted in
ipv4_negative_advice() if the Path MTU is set.

If the outstanding data on an affected TCP session is larger than
MTU2, packets sent from the endpoints will be dropped by B or C, and
ICMP NEEDFRAG will be returned. A and D receive NEEDFRAG messages and
update PMTU.

Before the next retransmit, tcp will again call dst_negative_advice(),
causing the route cache entry (with correct PMTU) to be deleted. The
retransmitted packet will be larger than MTU2, causing it to be
dropped again.

This sequence repeats until the TCP session aborts or is terminated.

Problem is fixed by removing redirected route cache entries in
ipv4_negative_advice() only if the PMTU is expired.

Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluet...
David S. Miller [Mon, 22 Mar 2010 01:03:11 +0000 (18:03 -0700)]
Merge branch 'master' of git://git./linux/kernel/git/holtmann/bluetooth-2.6

14 years agonet: suppress lockdep-RCU false positive in FIB trie.
Paul E. McKenney [Mon, 22 Mar 2010 01:01:05 +0000 (18:01 -0700)]
net: suppress lockdep-RCU false positive in FIB trie.

Allow fib_find_node() to be called either under rcu_read_lock()
protection or with RTNL held.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Sun, 21 Mar 2010 08:33:25 +0000 (09:33 +0100)]
Merge branch 'fix/hda' into topic/hda

14 years agoALSA: hda - Add PCI quirk for HP dv6-1110ax.
Kunal Gangakhedkar [Sat, 20 Mar 2010 17:38:01 +0000 (23:08 +0530)]
ALSA: hda - Add PCI quirk for HP dv6-1110ax.

Adding this PCI quirk fixes the board config detection.
This also fixes jack sensing by using "hp_detect=1" via properly detected
board config.

Signed-off-by: Kunal Gangakhedkar <kunal.gangakhedkar@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoBluetooth: Fix kernel crash on L2CAP stress tests
Andrei Emeltchenko [Fri, 19 Mar 2010 08:26:28 +0000 (10:26 +0200)]
Bluetooth: Fix kernel crash on L2CAP stress tests

Added very simple check that req buffer has enough space to
fit configuration parameters. Shall be enough to reject packets
with configuration size more than req buffer.

Crash trace below

[ 6069.659393] Unable to handle kernel paging request at virtual address 02000205
[ 6069.673034] Internal error: Oops: 805 [#1] PREEMPT
...
[ 6069.727172] PC is at l2cap_add_conf_opt+0x70/0xf0 [l2cap]
[ 6069.732604] LR is at l2cap_recv_frame+0x1350/0x2e78 [l2cap]
...
[ 6070.030303] Backtrace:
[ 6070.032806] [<bf1c2880>] (l2cap_add_conf_opt+0x0/0xf0 [l2cap]) from
[<bf1c6624>] (l2cap_recv_frame+0x1350/0x2e78 [l2cap])
[ 6070.043823]  r8:dc5d3100 r7:df2a91d6 r6:00000001 r5:df2a8000 r4:00000200
[ 6070.050659] [<bf1c52d4>] (l2cap_recv_frame+0x0/0x2e78 [l2cap]) from
[<bf1c8408>] (l2cap_recv_acldata+0x2bc/0x350 [l2cap])
[ 6070.061798] [<bf1c814c>] (l2cap_recv_acldata+0x0/0x350 [l2cap]) from
[<bf0037a4>] (hci_rx_task+0x244/0x478 [bluetooth])
[ 6070.072631]  r6:dc647700 r5:00000001 r4:df2ab740
[ 6070.077362] [<bf003560>] (hci_rx_task+0x0/0x478 [bluetooth]) from
[<c006b9fc>] (tasklet_action+0x78/0xd8)
[ 6070.087005] [<c006b984>] (tasklet_action+0x0/0xd8) from [<c006c160>]

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@nokia.com>
Acked-by: Gustavo F. Padovan <gustavo@padovan.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
14 years agoBluetooth: Convert debug files to actually use debugfs instead of sysfs
Marcel Holtmann [Sun, 21 Mar 2010 04:27:45 +0000 (05:27 +0100)]
Bluetooth: Convert debug files to actually use debugfs instead of sysfs

Some of the debug files ended up wrongly in sysfs, because at that point
of time, debugfs didn't exist. Convert these files to use debugfs and
also seq_file. This patch converts all of these files at once and then
removes the exported symbol for the Bluetooth sysfs class.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
14 years agoBluetooth: Fix potential bad memory access with sysfs files
Marcel Holtmann [Mon, 15 Mar 2010 21:12:58 +0000 (14:12 -0700)]
Bluetooth: Fix potential bad memory access with sysfs files

When creating a high number of Bluetooth sockets (L2CAP, SCO
and RFCOMM) it is possible to scribble repeatedly on arbitrary
pages of memory. Ensure that the content of these sysfs files is
always less than one page. Even if this means truncating. The
files in question are scheduled to be moved over to debugfs in
the future anyway.

Based on initial patches from Neil Brown and Linus Torvalds

Reported-by: Neil Brown <neilb@suse.de>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
14 years agoMerge branch 'vhost' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
David S. Miller [Sat, 20 Mar 2010 21:41:01 +0000 (14:41 -0700)]
Merge branch 'vhost' of git://git./linux/kernel/git/mst/vhost

14 years agonetfilter: ctnetlink: fix reliable event delivery if message building fails
Pablo Neira Ayuso [Tue, 16 Mar 2010 13:30:21 +0000 (13:30 +0000)]
netfilter: ctnetlink: fix reliable event delivery if message building fails

This patch fixes a bug that allows to lose events when reliable
event delivery mode is used, ie. if NETLINK_BROADCAST_SEND_ERROR
and NETLINK_RECV_NO_ENOBUFS socket options are set.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonetlink: fix NETLINK_RECV_NO_ENOBUFS in netlink_set_err()
Pablo Neira Ayuso [Thu, 18 Mar 2010 14:24:42 +0000 (14:24 +0000)]
netlink: fix NETLINK_RECV_NO_ENOBUFS in netlink_set_err()

Currently, ENOBUFS errors are reported to the socket via
netlink_set_err() even if NETLINK_RECV_NO_ENOBUFS is set. However,
that should not happen. This fixes this problem and it changes the
prototype of netlink_set_err() to return the number of sockets that
have set the NETLINK_RECV_NO_ENOBUFS socket option. This return
value is used in the next patch in these bugfix series.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoNET_DMA: free skbs periodically
Steven J. Magnani [Tue, 16 Mar 2010 05:22:44 +0000 (05:22 +0000)]
NET_DMA: free skbs periodically

Under NET_DMA, data transfer can grind to a halt when userland issues a
large read on a socket with a high RCVLOWAT (i.e., 512 KB for both).
This appears to be because the NET_DMA design queues up lots of memcpy
operations, but doesn't issue or wait for them (and thus free the
associated skbs) until it is time for tcp_recvmesg() to return.
The socket hangs when its TCP window goes to zero before enough data is
available to satisfy the read.

Periodically issue asynchronous memcpy operations, and free skbs for ones
that have completed, to prevent sockets from going into zero-window mode.

Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonetlink: fix unaligned access in nla_get_be64()
Pablo Neira Ayuso [Tue, 16 Mar 2010 13:30:44 +0000 (13:30 +0000)]
netlink: fix unaligned access in nla_get_be64()

This patch fixes a unaligned access in nla_get_be64() that was
introduced by myself in a17c859849402315613a0015ac8fbf101acf0cc1.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotcp: Fix tcp_mark_head_lost() with packets == 0
Lennart Schulte [Wed, 17 Mar 2010 02:16:29 +0000 (02:16 +0000)]
tcp: Fix tcp_mark_head_lost() with packets == 0

A packet is marked as lost in case packets == 0, although nothing should be done.
This results in a too early retransmitted packet during recovery in some cases.
This small patch fixes this issue by returning immediately.

Signed-off-by: Lennart Schulte <lennart.schulte@nets.rwth-aachen.de>
Signed-off-by: Arnd Hannemann <hannemann@nets.rwth-aachen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet: ipmr/ip6mr: fix potential out-of-bounds vif_table access
Patrick McHardy [Wed, 17 Mar 2010 06:04:14 +0000 (06:04 +0000)]
net: ipmr/ip6mr: fix potential out-of-bounds vif_table access

mfc_parent of cache entries is used to index into the vif_table and is
initialised from mfcctl->mfcc_parent. This can take values of to 2^16-1,
while the vif_table has only MAXVIFS (32) entries. The same problem
affects ip6mr.

Refuse invalid values to fix a potential out-of-bounds access. Unlike
the other validity checks, this is checked in ipmr_mfc_add() instead of
the setsockopt handler since its unused in the delete path and might be
uninitialized.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoKS8695: update ksp->next_rx_desc_read at the end of rx loop
Yegor Yefremov [Sat, 20 Mar 2010 05:43:29 +0000 (22:43 -0700)]
KS8695: update ksp->next_rx_desc_read at the end of rx loop

There is no need to adjust the next rx descriptor after each packet,
so do it only once at the end of the routine.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
14 years agoigb: Add support for 82576 ET2 Quad Port Server Adapter
Carolyn Wyborny [Fri, 19 Mar 2010 06:07:48 +0000 (06:07 +0000)]
igb: Add support for 82576 ET2 Quad Port Server Adapter

Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>