[Acer Aspire One 722] Broken support of Intel HDA in 3.5.0-16 kernel

Bug #1059523 reported by Anton Sudak
58
This bug affects 12 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

After upgrading kernel to 3.5.0-16 soundcard on my Acer Aspire One 722 stopped to work. On 3.5.0-15 it works fine.
In dmesg I fount next fragment
[ 10.694759] hda_codec: CX20588: BIOS auto-probing.
[ 10.697947] hda_codec: cannot build controls for #0 (error -16)
[ 10.701217] BUG: unable to handle kernel NULL pointer dereference at 0000000c
[ 10.701355] IP: [<f8ab01f0>] snd_hda_gen_apply_verbs+0x10/0x50 [snd_hda_codec]
[ 10.701502] *pdpt = 00000000369f5001 *pde = 0000000000000000
[ 10.701607] Oops: 0000 [#1] SMP
[ 10.701669] Modules linked in: snd_hda_codec_conexant uvcvideo snd_hda_codec_hdmi snd_hda_intel(+) videobuf2_core snd_hda_codec videodev acer_wmi videobuf2_vmalloc kvm_amd videobuf2_memops sp5100_tco kvm snd_hwdep snd_pcm i2c_piix4 snd_seq_midi snd_rawmidi snd_seq_midi_event lib80211 psmouse snd_seq sparse_keymap microcode snd_timer snd_seq_device serio_raw k10temp snd soundcore snd_page_alloc mac_hid lp parport ums_realtek uas usb_storage hid_generic usbhid hid radeon atl1c ttm drm_kms_helper drm i2c_algo_bit wmi video
[ 10.702585]
[ 10.702618] Pid: 468, comm: modprobe Not tainted 3.5.0-16-generic #24-Ubuntu Acer AO722/JE10-BZ
[ 10.702772] EIP: 0060:[<f8ab01f0>] EFLAGS: 00010286 CPU: 0
[ 10.702880] EIP is at snd_hda_gen_apply_verbs+0x10/0x50 [snd_hda_codec]
[ 10.702992] EAX: f4707800 EBX: f4707800 ECX: 00000000 EDX: f8a985c0
[ 10.703098] ESI: 00000000 EDI: f4707800 EBP: f6a03c80 ESP: f6a03c74
[ 10.703202] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[ 10.703293] CR0: 8005003b CR2: 0000000c CR3: 36991000 CR4: 000007f0
[ 10.703399] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
[ 10.703503] DR6: ffff0ff0 DR7: 00000400
[ 10.703572] Process modprobe (pid: 468, ti=f6a02000 task=f46d1960 task.ti=f6a02000)
[ 10.703697] Stack:
[ 10.703735] f4707800 f4707b14 00000000 f6a03cb4 f8a985df 0000071f 00000040 00000023
[ 10.703888] 00000000 0000000a 00000023 f4707800 f8aab292 f4707800 f4707b14 00000000
[ 10.704039] f6a03ccc f8aac283 f6a03ccc f8ae0d2f f4707800 f4707b14 f6a03ce4 f8aac3a0
[ 10.704192] Call Trace:
[ 10.704247] [<f8a985df>] cx_auto_init+0x1f/0x558 [snd_hda_codec_conexant]
[ 10.704380] [<f8aab292>] ? restore_pincfgs+0x52/0x70 [snd_hda_codec]
[ 10.704503] [<f8aac283>] hda_call_codec_resume+0xe3/0x100 [snd_hda_codec]
[ 10.704630] [<f8ae0d2f>] ? azx_power_notify+0x3f/0x70 [snd_hda_intel]
[ 10.704756] [<f8aac3a0>] __snd_hda_power_up+0x100/0x170 [snd_hda_codec]
[ 10.704884] [<f8aac43f>] snd_hda_power_up+0xf/0x20 [snd_hda_codec]
[ 10.705003] [<f8aac4d2>] codec_exec_verb+0x82/0x190 [snd_hda_codec]
[ 10.705126] [<f8aab1b5>] snd_hda_codec_write+0x75/0xb0 [snd_hda_codec]
[ 10.705252] [<f860422a>] ? snd_info_free_entry+0x4a/0x50 [snd]
[ 10.705366] [<f8aab22a>] set_pincfg+0x3a/0x50 [snd_hda_codec]
[ 10.705479] [<f8aab292>] restore_pincfgs+0x52/0x70 [snd_hda_codec]
[ 10.705600] [<f8aaf07d>] snd_hda_codec_reset+0x11d/0x1f0 [snd_hda_codec]
[ 10.705729] [<f8aaf1ff>] snd_hda_build_controls+0x5f/0x80 [snd_hda_codec]
[ 10.705854] [<f8ae24af>] azx_probe_continue+0x224/0x2c9 [snd_hda_intel]
[ 10.705978] [<f8ae1340>] ? azx_get_response+0x240/0x240 [snd_hda_intel]
[ 10.706098] [<f8ae1100>] ? azx_halt+0x30/0x30 [snd_hda_intel]
[ 10.706204] [<f8ae1650>] ? azx_vs_set_state+0x160/0x160 [snd_hda_intel]
[ 10.706324] [<f8ae0d60>] ? azx_power_notify+0x70/0x70 [snd_hda_intel]
[ 10.706441] [<f8ae0cf0>] ? azx_stop_chip+0x90/0x90 [snd_hda_intel]
[ 10.706553] [<f8ae1d8a>] azx_probe+0x555/0x5a7 [snd_hda_intel]
[ 10.706659] [<c15c89bd>] ? _raw_spin_lock_irqsave+0x2d/0x40
[ 10.706761] [<c12f4e87>] pci_device_probe+0x87/0x110
[ 10.706850] [<c11ad607>] ? sysfs_create_link+0x17/0x20
[ 10.706943] [<c13acd63>] driver_probe_device+0x63/0x1e0
[ 10.711384] [<c12f4c53>] ? pci_match_device+0xb3/0xc0
[ 10.715768] [<c13acf71>] __driver_attach+0x91/0xa0
[ 10.720178] [<c13acee0>] ? driver_probe_device+0x1e0/0x1e0
[ 10.724493] [<c13ab532>] bus_for_each_dev+0x42/0x80
[ 10.728763] [<c13ac84e>] driver_attach+0x1e/0x20
[ 10.732806] [<c13acee0>] ? driver_probe_device+0x1e0/0x1e0
[ 10.736638] [<c13ac5a7>] bus_add_driver+0x187/0x260
[ 10.740319] [<c12f4f10>] ? pci_device_probe+0x110/0x110
[ 10.744011] [<c13ad55a>] driver_register+0x6a/0x140
[ 10.747635] [<f85c9000>] ? 0xf85c8fff
[ 10.751204] [<c12f3ef2>] __pci_register_driver+0x42/0xb0
[ 10.754757] [<f85c9000>] ? 0xf85c8fff
[ 10.758260] [<f85c9017>] azx_driver_init+0x17/0x1000 [snd_hda_intel]
[ 10.761817] [<c1003112>] do_one_initcall+0x112/0x160
[ 10.765451] [<c109f9a2>] ? set_section_ro_nx+0x62/0x80
[ 10.768964] [<c10a2bc7>] sys_init_module+0xa7/0x210
[ 10.772481] [<c15cf6df>] sysenter_do_call+0x12/0x28
[ 10.776023] Code: 0f b7 13 66 85 d2 75 eb 5b 5e 5d c3 eb 0d 90 90 90 90 90 90 90 90 90 90 90 90 90 55 89 e5 57 56 53 3e 8d 74 26 00 8b 70 68 89 c7 <8b> 4e 0c 85 c9 74 26 8b 56 14 31 c0 31 db eb 03 8b 56 14 0f af
[ 10.783688] EIP: [<f8ab01f0>] snd_hda_gen_apply_verbs+0x10/0x50 [snd_hda_codec] SS:ESP 0068:f6a03c74
[ 10.787546] CR2: 000000000000000c
[ 10.901845] psmouse serio1: elantech: assuming hardware version 2 (with firmware version 0x040213)
[ 10.939327] wl: module license 'MIXED/Proprietary' taints kernel.
[ 10.945033] ---[ end trace 6fa232aef196fc19 ]---

ProblemType: Bug
DistroRelease: Ubuntu 12.10
Package: linux-image-3.5.0-16-generic 3.5.0-16.24
ProcVersionSignature: Ubuntu 3.5.0-16.24-generic 3.5.4
Uname: Linux 3.5.0-16-generic i686
NonfreeKernelModules: wl
ApportVersion: 2.5.3-0ubuntu1
Architecture: i386
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: zws 2759 F.... pulseaudio
CRDA: Error: [Errno 2] Нет такого файла или каталога: 'iw'
CurrentDmesg:
 [ 22.895164] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
 [ 22.924452] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
 [ 214.525884] [sched_delayed] sched: RT throttling activated
 [12189.409197] show_signal_msg: 21 callbacks suppressed
 [12189.409212] file-roller[20238]: segfault at 8 ip 0809d3f2 sp bf8d6ba0 error 4 in file-roller[8048000+76000]
Date: Mon Oct 1 14:05:37 2012
HibernationDevice: RESUME=UUID=3f144baf-c55e-45a4-979c-b7f2af017153
InstallationMedia: Ubuntu 12.10 "Quantal Quetzal" - Alpha i386 (20120826)
MachineType: Acer AO722
ProcFB: 0 radeondrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.5.0-16-generic root=UUID=4f92715f-57ba-43e9-be27-5e3ac5092633 ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-3.5.0-16-generic N/A
 linux-backports-modules-3.5.0-16-generic N/A
 linux-firmware 1.94
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
WifiSyslog:
 Oct 1 13:00:40 AO-722 kernel: [12189.409197] show_signal_msg: 21 callbacks suppressed
 Oct 1 13:00:40 AO-722 kernel: [12189.409212] file-roller[20238]: segfault at 8 ip 0809d3f2 sp bf8d6ba0 error 4 in file-roller[8048000+76000]
dmi.bios.date: 09/19/2011
dmi.bios.vendor: Acer
dmi.bios.version: V1.07
dmi.board.asset.tag: Base Board Asset Tag
dmi.board.name: JE10-BZ
dmi.board.vendor: Acer
dmi.board.version: Base Board Version
dmi.chassis.type: 10
dmi.chassis.vendor: Acer
dmi.chassis.version: V1.07
dmi.modalias: dmi:bvnAcer:bvrV1.07:bd09/19/2011:svnAcer:pnAO722:pvrV1.07:rvnAcer:rnJE10-BZ:rvrBaseBoardVersion:cvnAcer:ct10:cvrV1.07:
dmi.product.name: AO722
dmi.product.version: V1.07
dmi.sys.vendor: Acer

Revision history for this message
Anton Sudak (anton-sudak) wrote :
Brad Figg (brad-figg)
Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Can you confirm this bug goes away if you boot back into 3.5.0-15?

Changed in linux (Ubuntu):
importance: Undecided → Medium
tags: added: kernel-da-key regression-updategression-proposed snd-hda-gen-apply-verbs
tags: added: performing-bisect
Revision history for this message
Anton Sudak (anton-sudak) wrote :

Yes, sound works perfectly with 3.5.0-15.

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

I'd like to perform a kernel bisect to identify the commit which caused this regression. This will require testing 5 or so kernels.

I built a test kernel, which is available for download from:
http://people.canonical.com/~jsalisbury/lp1059523

Can you test that kernel and report back if it has this bug or not?

Thanks in advance

Revision history for this message
Anton Sudak (anton-sudak) wrote :

Bug still appears with this kernel.

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

I built the next test kernel, which is up to commit:
8313547880cd5adff2253d3fe106b983dd93104c

The kernel is available for download from:
http://people.canonical.com/~jsalisbury/lp1059523

Can you test that kernel and report back if it has this bug or not?

Thanks in advance

Revision history for this message
Anton Sudak (anton-sudak) wrote :

Great! Sound works again with last test kernel.

Revision history for this message
David Henningsson (diwic) wrote :

Thanks for giving me a heads up on this bug Joseph.

I think we're looking at two errors here.
The first error is:

[ 10.697947] hda_codec: cannot build controls for #0 (error -16)

Please try the attached patch, I believe it would fix this error.

The second error is the oops - even if build_controls returns an error, this shouldn't cause an OOPS. Why it does that I haven't figured out.

However, I also have a question. According to the codec configuration, you seem to have two microphone jacks. Is this really correct? (It could be that one of them is part of a 4-pin headset jack.)
If this is not correct, we should disable one of them.

Revision history for this message
David Henningsson (diwic) wrote : [PATCH] ALSA: hda - fix indices on boost volume on Conexant

After the recent patch "ALSA: hda - use both input paths on Conexant
auto parser" suddenly we can have more than one "Mic Boost", this
happened on Acer Aspire One 722. Therefore we must add the possibility
to put an index on this "Mic Boost" just as we do for the other
"Mic Boost" earlier in the same function.

BugLink: https://bugs.launchpad.net/bugs/1059523
Signed-off-by: David Henningsson <email address hidden>
---
 sound/pci/hda/patch_conexant.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
index c03d3b8..c11ad8a 100644
--- a/sound/pci/hda/patch_conexant.c
+++ b/sound/pci/hda/patch_conexant.c
@@ -4273,7 +4273,7 @@ static int cx_auto_add_boost_volume(struct hda_codec *codec, int idx,

  if (get_wcaps(codec, mux) & AC_WCAP_OUT_AMP) {
   spec->imux_info[idx].boost = mux;
- return cx_auto_add_volume(codec, label, " Boost", 0,
+ return cx_auto_add_volume(codec, label, " Boost", cidx,
        mux, HDA_OUTPUT);
  }
  return 0;
--
1.7.9.5

tags: added: patch
Revision history for this message
David Henningsson (diwic) wrote : Re: Broken support of Intel HDA in 3.5.0-16 kernel

As for the oops, it is fixed by the following upstream commit, which we should backport:

commit 07dc59f0988cb54fd87bd373b3b27eb2401dd811
Author: Takashi Iwai <email address hidden>
Date: Mon Sep 10 09:39:31 2012 +0200

    ALSA: hda - Fix Oops at codec reset/reconfig

...this patch was sent to stable so hopefully it will reach us automatically, but it is worth tracking so that it will actually happen.

Revision history for this message
Anton Sudak (anton-sudak) wrote :

David, yes, seems it's correct. Headset microphone works through headphone jack. Netbook also has separate microphone jack, but it don't work, and I don't remember if it worked in any previous releases because i never use it.

summary: - Broken support of Intel HDA in 3.5.0-16 kernel
+ [Acer Aspire One 722] Broken support of Intel HDA in 3.5.0-16 kernel
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

@ZwS,

I'll build a test kernel with the patch mentioned in comment #8. I'll post a link to the kernel shortly.

As for the kerneloops, can you open a new bug for that? That will allow us to track the commit from upstream, separate from this bug.

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

@ZwS,

I built a test kernel with the following patch applied:
0001-ALSA-hda-fix-indices-on-boost-volume-on-Conexant.patch

The test kernel can be downloaded from:
http://people.canonical.com/~jsalisbury/lp1059523

Can you test that kernel and report back if it has this bug or not?

Thanks in advance

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Please be sure to install both the linux-image and linux-image-extra .deb packages:

linux-image-3.5.0-16-generic_3.5.0-16.25~lp1059523patched_amd64.deb
linux-image-extra-3.5.0-16-generic_3.5.0-16.25~lp1059523patched_amd64.deb

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

@ZwS,

Also, can you open a new bug for the kerneloops? That will allow us to track the commit from upstream, separate from this bug.

Revision history for this message
Anton Sudak (anton-sudak) wrote :

Joseph, unfortunately I have only i386 system, so I can't test kernel you builded.
And here is bugreport about kerneloops https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1060330

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

@ZwS,

Thanks for opening the new bug report for the kerneloops. Sorry, I'll build you a 32bit kernel now and post it shortly.

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

@ZwS,

I built a 32 bit Quantal test kernel with the following patch applied:
0001-ALSA-hda-fix-indices-on-boost-volume-on-Conexant.patch

The test kernel can be downloaded from:
http://people.canonical.com/~jsalisbury/lp1059523

Can you test that kernel and report back if it has this bug or not?

Thanks in advance

Revision history for this message
Anton Sudak (anton-sudak) wrote :

Joseph, bug is missing with the patched kernel.

Revision history for this message
Kuba Iwanicki (kuba-iwanicki) wrote :

Thanx Joseph! That patched kernel for 32bit restore sound in my Acer Aspire One 722.
I removed kernel linux-headers-3.5.0-16 and install Yours.
 Really good work!

Regards,
Kuba

Revision history for this message
Matt Behrens (zigg) wrote :

@jsalisbury, do you need more testing for this bug? I have an AO722-0828 on amd64 which appears to be exhibiting this same problem (see http://www.alsa-project.org/db/?f=656cead6d2465a600aad164f140dae2303118882); wasn't sure whether I should use the kernel in the 64bit-patched directory of your link to do so.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 3.5.0-17.26

---------------
linux (3.5.0-17.26) quantal-proposed; urgency=low

  [ David Henningsson ]

  * SAUCE: ALSA: hda - fix indices on boost volume on Conexant
    - LP: #1059523

  [ Leann Ogasawara ]

  * [Config] Build in CONFIG_X86_PCC_CPUFREQ=y
    - LP: #1061126

  [ Rob Herring ]

  * Revert "SAUCE: ahci_platform: add custom hard reset for Calxeda ahci
    ctrlr"
    - LP: #1059432
  * Revert "SAUCE: net: calxedaxgmac: add write barriers around setting
    owner bit"
    - LP: #1059432
  * Revert "SAUCE: ARM: highbank: use writel_relaxed variant for pwr
    requests"
    - LP: #1059432
  * Revert "SAUCE: force DMA buffers to non-bufferable on highbank"
    - LP: #1059432
  * Revert "SAUCE: input: add a key driver for highbank"
    - LP: #1059432
  * [Config] Align highbank config with amd64-generic and add new configs
    - LP: #1059432
  * SAUCE: net: calxedaxgmac: enable operate on 2nd frame mode
    - LP: #1059432
  * SAUCE: net: calxedaxgmac: remove explicit rx dma buffer polling
    - LP: #1059432
  * SAUCE: net: calxedaxgmac: use relaxed i/o accessors in rx and tx paths
    - LP: #1059432
  * SAUCE: net: calxedaxgmac: drop some unnecessary register writes
    - LP: #1059432
  * SAUCE: net: calxedaxgmac: rework transmit ring handling
    - LP: #1059432
  * SAUCE: ARM: highbank: retry wfi on reset request
    - LP: #1059432

  [ Tim Gardner ]

  * [Config] TIDSPBRIDGE=m
    - LP: #1058022
  * rebase to v3.5.5

  [ Upstream Kernel Changes ]

  * common: DMA-mapping: add DMA_ATTR_NO_KERNEL_MAPPING attribute
    - LP: #1059432
  * common: DMA-mapping: add DMA_ATTR_SKIP_CPU_SYNC attribute
    - LP: #1059432
  * ARM: dma-mapping: add support for DMA_ATTR_SKIP_CPU_SYNC attribute
    - LP: #1059432
  * ARM: add coherent dma ops
    - LP: #1059432
  * ARM: add coherent iommu dma ops
    - LP: #1059432
  * ARM: highbank: add coherent DMA setup
    - LP: #1059432
  * sata: add platform driver for Calxeda AHCI controller
    - LP: #1059432
  * xhci: Rate-limit XHCI_TRUST_TX_LENGTH quirk warning.
    - LP: #1039478
  * agp/intel-gtt: remove dead code
    - LP: #1011440
  * drm/i915: stop using dev->agp->base
    - LP: #1011440
  * agp/intel-gtt: don't require the agp bridge on setup
    - LP: #1011440
  * drm/i915 + agp/intel-gtt: prep work for direct setup
    - LP: #1011440
  * agp/intel-gtt: move gart base addres setup
    - LP: #1011440
  * drm/i915: don't use dev->agp
    - LP: #1011440
  * drm/i915: disable drm agp support for !gen3 with kms enabled
    - LP: #1011440
  * agp/intel-agp: remove snb+ host bridge pciids
    - LP: #1011440
  * rebase to v3.5.5
    - LP: #1000424
 -- Leann Ogasawara <email address hidden> Wed, 03 Oct 2012 11:11:18 -0700

Changed in linux (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

@Matt Behrens,

I don't think any additional testing is required. If you want, you can confirm this bug doesn't exist on your hardware with the latest Quantal kernel.

Revision history for this message
Takashi Iwai (tiwai) wrote : Re: [PATCH] ALSA: hda - fix indices on boost volume on Conexant

At Tue, 2 Oct 2012 10:14:23 +0200,
David Henningsson wrote:
>
> After the recent patch "ALSA: hda - use both input paths on Conexant
> auto parser" suddenly we can have more than one "Mic Boost", this
> happened on Acer Aspire One 722. Therefore we must add the possibility
> to put an index on this "Mic Boost" just as we do for the other
> "Mic Boost" earlier in the same function.
>
> BugLink: https://bugs.launchpad.net/bugs/1059523
> Signed-off-by: David Henningsson <email address hidden>

Applied, thanks.

Takashi

> ---
> sound/pci/hda/patch_conexant.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
> index c03d3b8..c11ad8a 100644
> --- a/sound/pci/hda/patch_conexant.c
> +++ b/sound/pci/hda/patch_conexant.c
> @@ -4273,7 +4273,7 @@ static int cx_auto_add_boost_volume(struct hda_codec *codec, int idx,
>
> if (get_wcaps(codec, mux) & AC_WCAP_OUT_AMP) {
> spec->imux_info[idx].boost = mux;
> - return cx_auto_add_volume(codec, label, " Boost", 0,
> + return cx_auto_add_volume(codec, label, " Boost", cidx,
> mux, HDA_OUTPUT);
> }
> return 0;
> --
> 1.7.9.5
>

Revision history for this message
Adam Conrad (adconrad) wrote : Update Released

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.