Bug 16156 - No Sound with 2.6.34.x Kernel with my Audio-Chip
Summary: No Sound with 2.6.34.x Kernel with my Audio-Chip
Status: CLOSED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Sound(ALSA) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Jaroslav Kysela
URL:
Keywords:
Depends on:
Blocks: 16055
  Show dependency tree
 
Reported: 2010-06-08 11:51 UTC by Ch: Hanisch
Modified: 2010-06-27 22:31 UTC (History)
3 users (show)

See Also:
Kernel Version: 2.6.34-0.slh.7-sidux-686
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments
Fix patch (1.74 KB, patch)
2010-06-11 09:30 UTC, Takashi Iwai
Details | Diff

Description Ch: Hanisch 2010-06-08 11:51:36 UTC
My Audio-Chip is:
00:1b.0 Audio device [0403]: Intel Corporation 82801H (ICH8 Family) HD Audio Controller [8086:284b] (rev 03)
I have no Sound with Kernel 2.6.34.x
Part of dmesg:
...
[   13.965397] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
[   13.965456]   alloc irq_desc for 31 on node -1
[   13.965458]   alloc kstat_irqs on node -1
[   13.965471] HDA Intel 0000:00:1b.0: irq 31 for MSI/MSI-X
[   13.965508] HDA Intel 0000:00:1b.0: setting latency timer to 64
[   14.008135] hda_codec: ALC268: BIOS auto-probing.
[   14.010459] BUG: unable to handle kernel NULL pointer dereference at (null)
[   14.010891] IP: [<f9f04ec0>] alc_build_controls+0xf0/0x450 [snd_hda_codec_realtek]
[   14.011005] *pde = 00000000 
[   14.011005] Oops: 0000 [#1] PREEMPT SMP 
[   14.011005] last sysfs file: /sys/module/snd_hda_codec/initstate
[   14.011005] Modules linked in: snd_hda_codec_realtek snd_hda_intel(+) snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm arc4 ecb snd_seq_dummy snd_seq_oss gspca_gl860 snd_seq_midi iwl3945 snd_rawmidi iwlcore gspca_main snd_seq_midi_event snd_seq btusb videodev snd_timer v4l1_compat joydev bluetooth snd_seq_device nvidia(P) i2c_i801 mac80211 snd soundcore rtc_cmos video rtc_core serio_raw tpm_tis intel_agp tpm i2c_core output pcspkr rtc_lib psmouse tpm_bios cfg80211 snd_page_alloc evdev processor ac battery button rfkill ext3 jbd mbcache usbhid hid dm_mod sg sd_mod sr_mod cdrom ata_generic pata_acpi usb_storage ahci ata_piix uhci_hcd thermal libata ehci_hcd scsi_mod r8169 mii usbcore nls_base [last unloaded: scsi_wait_scan]
[   14.011005] 
[   14.011005] Pid: 909, comm: modprobe Tainted: P           2.6.34-0.slh.7-sidux-686 #1 MIM2280         /MIM2280         
[   14.011005] EIP: 0060:[<f9f04ec0>] EFLAGS: 00010246 CPU: 0
[   14.011005] EIP is at alc_build_controls+0xf0/0x450 [snd_hda_codec_realtek]
[   14.011005] EAX: 00000000 EBX: f705e800 ECX: 00000000 EDX: 00000002
[   14.011005] ESI: f6656000 EDI: 00000000 EBP: f6959880 ESP: f6b53dd4
[   14.011005]  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
[   14.011005] Process modprobe (pid: 909, ti=f6b52000 task=f69d6f70 task.ti=f6b52000)
[   14.011005] Stack:
[   14.011005]  0000b000 00000000 f705e800 f6656000 00000001 f6604600 f9f04309 00000096
[   14.011005] <0> f6656000 f708592c 00000003 f6604600 f87d657d f6656000 f87d8447 f708592c
[   14.011005] <0> 00000003 f6604600 00000000 00000004 00000003 f883caa5 f6655044 00000050
[   14.011005] Call Trace:
[   14.011005]  [<f9f04309>] ? alc_init+0x59/0x340 [snd_hda_codec_realtek]
[   14.011005]  [<f87d657d>] ? snd_hda_codec_build_controls+0x3d/0x50 [snd_hda_codec]
[   14.011005]  [<f87d8447>] ? snd_hda_build_controls+0x27/0x80 [snd_hda_codec]
[   14.011005]  [<f883caa5>] ? azx_probe+0x917/0x9b6 [snd_hda_intel]
[   14.011005]  [<f883bfa0>] ? azx_send_cmd+0x0/0x180 [snd_hda_intel]
[   14.011005]  [<f883bd60>] ? azx_get_response+0x0/0x240 [snd_hda_intel]
[   14.011005]  [<f883b350>] ? azx_attach_pcm_stream+0x0/0x1b0 [snd_hda_intel]
[   14.011005]  [<f883af80>] ? azx_bus_reset+0x0/0x60 [snd_hda_intel]
[   14.011005]  [<f883adc0>] ? azx_power_notify+0x0/0x90 [snd_hda_intel]
[   14.011005]  [<c027cadb>] ? local_pci_probe+0xb/0x10
[   14.011005]  [<c027dab1>] ? pci_device_probe+0x61/0x80
[   14.011005]  [<c02f9af7>] ? driver_probe_device+0x77/0x170
[   14.011005]  [<c027cc10>] ? pci_match_device+0xa0/0xc0
[   14.011005]  [<c02f9c69>] ? __driver_attach+0x79/0x80
[   14.011005]  [<c02f9bf0>] ? __driver_attach+0x0/0x80
[   14.011005]  [<c02f93e2>] ? bus_for_each_dev+0x52/0x80
[   14.011005]  [<c02f9996>] ? driver_attach+0x16/0x20
[   14.011005]  [<c02f9bf0>] ? __driver_attach+0x0/0x80
[   14.011005]  [<c02f8d3b>] ? bus_add_driver+0xab/0x230
[   14.011005]  [<c027d9f0>] ? pci_device_remove+0x0/0x40
[   14.011005]  [<c02f9f03>] ? driver_register+0x63/0x120
[   14.011005]  [<f87b5000>] ? alsa_card_azx_init+0x0/0x14 [snd_hda_intel]
[   14.011005]  [<c027dcdd>] ? __pci_register_driver+0x3d/0xb0
[   14.011005]  [<c010112f>] ? do_one_initcall+0x2f/0x190
[   14.011005]  [<c01645b4>] ? sys_init_module+0xb4/0x220
[   14.011005]  [<c01c561d>] ? sys_close+0x6d/0xc0
[   14.011005]  [<c03f1df5>] ? syscall_call+0x7/0xb
[   14.011005] Code: 00 10 74 5b ba 4b d4 f0 f9 89 f0 e8 bb 2e 8d fe 85 c0 89 c5 0f 84 98 00 00 00 8b 45 48 85 c0 0f 84 a3 00 00 00 31 c9 31 ff eb 22 <0f> b7 04 48 89 ea 89 04 24 89 f0 e8 20 06 8d fe 85 c0 0f 88 26 
[   14.011005] EIP: [<f9f04ec0>] alc_build_controls+0xf0/0x450 [snd_hda_codec_realtek] SS:ESP 0068:f6b53dd4
[   14.011005] CR2: 0000000000000000
[   14.309715] ---[ end trace 6ab975fd0c634b8a ]---

The fully dmesg on http://paste.debian.net/76600/

Look on Thread at http://sidux.com/index.php?name=PNphpBB2&file=viewtopic&p=160011#160011

Thanks
Ch. Hanisch
Comment 1 Clemens Ladisch 2010-06-09 11:22:41 UTC
If I've disassembled this correctly, the crash happens in the first call to snd_hda_add_nid() because nids is NULL.
Comment 2 Takashi Iwai 2010-06-10 10:08:13 UTC
Please do the following:
 - load snd-hda-intel with probe_only=1 option
 - run alsa-info.sh (with --no-upload option), then attach the content.
Comment 3 Ch: Hanisch 2010-06-10 16:03:36 UTC
Hello,
I'm a newbe and can not understand what I should do.
Please give me exact information what should I do on console or
kernel-option.
I can't find 'alsa-info.sh'.

with regards
Ch. Hanisch


Am 10.06.2010 12:08, schrieb bugzilla-daemon@bugzilla.kernel.org:
> https://bugzilla.kernel.org/show_bug.cgi?id=16156
>
>
>
>
>
> --- Comment #2 from Takashi Iwai <tiwai@suse.de>  2010-06-10 10:08:13 ---
> Please do the following:
>  - load snd-hda-intel with probe_only=1 option
>  - run alsa-info.sh (with --no-upload option), then attach the content.
>
>
Comment 4 Takashi Iwai 2010-06-11 05:51:13 UTC
The script is found in
    http://www.alsa-project.org/alsa-info.sh

The detailed information about HD-audio driver is found in Documentation/sound/alsa/HD-Audio.txt.  In this case, add probe_only=1 option to snd-hda-intel module, typically somewhere in /etc/modprobe.d/* file.  This will skip parsing the codec content, thus we can get the register access without Oops.

Note that the option for snd-hda-intel is different from the option for snd.  Some distros have modprobe configs like

    options snd slots=xxx ...

This line isn't for snd-hda-intel.  The options for snd-hda-intel is like

    options snd-hda-intel ....
Comment 5 Ch: Hanisch 2010-06-11 09:10:53 UTC
Hello,
I have now in the /etc/modprobe.d/sound.conf
following content:
options snd-hda-intel model=lenovo-nb0763
options snd-hda-intel probe_only=1

The output from alsa-info.sh you can find here
http://www.alsa-project.org/db/?f=3eb2b7a6370bc4028ab19ca81d5d7e7d4c331c42

I hope, you can find out the kernel bug now.

with regards
ch. Hanisch

Am 11.06.2010 07:51, schrieb bugzilla-daemon@bugzilla.kernel.org:
> https://bugzilla.kernel.org/show_bug.cgi?id=16156
>
>
>
>
>
> --- Comment #4 from Takashi Iwai <tiwai@suse.de>  2010-06-11 05:51:13 ---
> The script is found in
>     http://www.alsa-project.org/alsa-info.sh
>
> The detailed information about HD-audio driver is found in
> Documentation/sound/alsa/HD-Audio.txt.  In this case, add probe_only=1 option
> to snd-hda-intel module, typically somewhere in /etc/modprobe.d/* file.  This
> will skip parsing the codec content, thus we can get the register access
> without Oops.
>
> Note that the option for snd-hda-intel is different from the option for snd. 
> Some distros have modprobe configs like
>
>     options snd slots=xxx ...
>
> This line isn't for snd-hda-intel.  The options for snd-hda-intel is like
>
>     options snd-hda-intel ....
>
>
Comment 6 Ch: Hanisch 2010-06-11 09:13:57 UTC
Hello,

here the alsa-info.sh output as attachment.

with regards Ch. Hanisch
Comment 7 Takashi Iwai 2010-06-11 09:29:36 UTC
Thanks.
Could you try the patch below?
Comment 8 Takashi Iwai 2010-06-11 09:30:26 UTC
Created attachment 26724 [details]
Fix patch
Comment 9 Ch: Hanisch 2010-06-11 14:20:26 UTC
Hello,
I have no experience and have no idea what should I do now with that.
Please give me more information how can I do this patch.

with regards
Ch. Hanisch

Am 11.06.2010 11:30, schrieb bugzilla-daemon@bugzilla.kernel.org:
> https://bugzilla.kernel.org/show_bug.cgi?id=16156
>
>
>
>
>
> --- Comment #8 from Takashi Iwai <tiwai@suse.de>  2010-06-11 09:30:26 ---
> Created an attachment (id=26724)
>  --> (https://bugzilla.kernel.org/attachment.cgi?id=26724)
> Fix patch
>
>
Comment 10 Rafael J. Wysocki 2010-06-11 15:17:38 UTC
Handled-By : Takashi Iwai <tiwai@suse.de>
Comment 11 Takashi Iwai 2010-06-11 15:26:37 UTC
(In reply to comment #9)
> Hello,
> I have no experience and have no idea what should I do now with that.
> Please give me more information how can I do this patch.

The easiest way is to contact with the distributor and ask them for providing a test kernel with the given patch.  Of course, you can build the kernel by yourself if you'd like.
Comment 12 Ch: Hanisch 2010-06-13 09:53:03 UTC
Hello Takashi Iwai,

your patch is integrated in kernel 2.6.34-0.slh.9-sidux-686 and works
fine on my machine.

Thanks to you.

with regards
Ch. Hanisch

Am 11.06.2010 17:26, schrieb bugzilla-daemon@bugzilla.kernel.org:
> https://bugzilla.kernel.org/show_bug.cgi?id=16156
>
>
>
>
>
> --- Comment #11 from Takashi Iwai <tiwai@suse.de>  2010-06-11 15:26:37 ---
> (In reply to comment #9)
>   
>> Hello,
>> I have no experience and have no idea what should I do now with that.
>> Please give me more information how can I do this patch.
>>     
> The easiest way is to contact with the distributor and ask them for providing
> a
> test kernel with the given patch.  Of course, you can build the kernel by
> yourself if you'd like.
>
>
Comment 13 Rafael J. Wysocki 2010-06-13 10:51:41 UTC
Patch : https://bugzilla.kernel.org/attachment.cgi?id=26724
Comment 14 Rafael J. Wysocki 2010-06-27 22:31:09 UTC
Fixed by commit fbe618f216830f47b183858c3380d4767b1ad02f .

Note You need to log in before you can comment on or make changes to this bug.