From: "Ozan Çağlayan" <ozan@pardus.org.tr>
To: alsa-devel@alsa-project.org
Subject: Problem with the new BEEP framework and HP dv6
Date: Mon, 21 Dec 2009 18:47:30 +0200 [thread overview]
Message-ID: <4B2FA6A2.706@pardus.org.tr> (raw)
Hi,
Before the new CONFIG_SND_HDA_INPUT_BEEP_MODE is introduced, I was patching the alsa-driver package
with a very trivial patch which was setting the default of enable_beep to 0.
I created another patch to completely disable beep stuff for the new BEEP_MODE stuff. It seemed to work
fine on my computer but triggered NULL pointer dereference on an HP dv6:
Index: alsa-driver/configure
===================================================================
--- alsa-driver.orig/configure
+++ alsa-driver/configure
@@ -15945,7 +15945,7 @@ alsa_check_kconfig_option () {
if ( test "$CONFIG_SND_PCI" = "y" -o "$CONFIG_SND_PCI" = "m" ) &&
( test "$CONFIG_SND_HDA_INTEL" = "y" -o "$CONFIG_SND_HDA_INTEL" = "m" ) &&
( test "$CONFIG_SND_HDA_INPUT_BEEP" = "y" -o "$CONFIG_SND_HDA_INPUT_BEEP" = "m" ); then
- CONFIG_SND_HDA_INPUT_BEEP_MODE="1"
+ CONFIG_SND_HDA_INPUT_BEEP_MODE="0"
fi
if alsa_check_kconfig_option "hda-input-jack"; then
if ( test "$CONFIG_SND_PCI" = "y" -o "$CONFIG_SND_PCI" = "m" ) &&
@@ -18366,7 +18366,7 @@ _ACEOF
fi
if test -n "$CONFIG_SND_HDA_INPUT_BEEP_MODE"; then
cat >>confdefs.h <<_ACEOF
-#define CONFIG_SND_HDA_INPUT_BEEP_MODE 1
+#define CONFIG_SND_HDA_INPUT_BEEP_MODE 0
_ACEOF
fi
Index: alsa-driver/sound/pci/hda/Kconfig
===================================================================
--- alsa-driver.orig/sound/pci/hda/Kconfig
+++ alsa-driver/sound/pci/hda/Kconfig
@@ -41,7 +41,7 @@ config SND_HDA_INPUT_BEEP
config SND_HDA_INPUT_BEEP_MODE
int "Digital beep registration mode (0=off, 1=on, 2=mute sw on/off)"
depends on SND_HDA_INPUT_BEEP=y
- default "1"
+ default "0"
range 0 2
help
Set 0 to disable the digital beep interface for HD-audio by default.
Index: alsa-driver/sound/pci/hda/hda_intel.c
===================================================================
--- alsa-driver.orig/sound/pci/hda/hda_intel.c
+++ alsa-driver/sound/pci/hda/hda_intel.c
@@ -98,7 +98,7 @@ MODULE_PARM_DESC(patch, "Patch file for
#ifdef CONFIG_SND_HDA_INPUT_BEEP
module_param_array(beep_mode, int, NULL, 0444);
MODULE_PARM_DESC(beep_mode, "Select HDA Beep registration mode "
- "(0=off, 1=on, 2=mute switch on/off) (default=1).");
+ "(0=off, 1=on, 2=mute switch on/off) (default=0).");
#endif
#ifdef CONFIG_SND_HDA_POWER_SAVE
I really don't know if I mistakenly modified the code path with those modified #defines, but I'm sure that
the patch correctly disables beep device on my Realtek ALC883 codec.
Here's the stack trace of the patched alsa-driver:
[ 14.516122] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
[ 14.516178] HDA Intel 0000:00:1b.0: setting latency timer to 64
[ 14.569087] BUG: unable to handle kernel NULL pointer dereference at 00000032
[ 14.569527] IP: [<f8f35b2b>] stac92xx_parse_auto_config+0x616/0xd5f [snd_hda_codec_idt]
[ 14.570007] *pde = 00000000
[ 14.570014] Oops: 0002 [#1] SMP
[ 14.570014] last sysfs file: /sys/module/snd_hda_codec/initstate
[ 14.570014] Modules linked in: snd_hda_codec_idt snd_hda_intel(+) snd_hda_codec snd_seq_dummy snd_hwdep snd_seq_oss arc4 snd_seq_midi_event ecb snd_seq snd_seq_device iwlagn iwlcore snd_pcm_oss snd_mixer_oss snd_pcm intel_agp rfkill agpgart btusb uvcvideo snd_timer mac80211 snd jmb38x_ms r8169 video iTCO_wdt videodev memstick v4l1_compat iTCO_vendor_support soundcore mii output pcspkr joydev snd_page_alloc wmi cfg80211 hp_accel bluetooth lis3lv02d brd usb_storage firewire_ohci firewire_core sdhci_pci sdhci mmc_core led_class ohci1394 ieee1394 ahci libata
[ 14.570014]
[ 14.570014] Pid: 175, comm: modprobe Not tainted (2.6.30.9-128 #1) HP Pavilion dv6 Notebook PC
[ 14.570014] EIP: 0060:[<f8f35b2b>] EFLAGS: 00010246 CPU: 0
[ 14.570014] EIP is at stac92xx_parse_auto_config+0x616/0xd5f [snd_hda_codec_idt]
[ 14.570014] EAX: 00000000 EBX: 00000026 ECX: 00000001 EDX: 00000026
[ 14.570014] ESI: f6a20000 EDI: f6a23800 EBP: f6ae9de8 ESP: f6ae9d7c
[ 14.570014] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
[ 14.570014] Process modprobe (pid: 175, ti=f6ae8000 task=f694be30 task.ti=f6ae8000)
[ 14.570014] Stack:
[ 14.570014] 00000400 f6ac11a4 00210000 f6ac1000 f6a23a74 f6a23800 00000000 f6a23800
[ 14.570014] f6a23800 00000007 0007070d 0000000d f6ae9dcc f8ecb558 00000000 00000000
[ 14.570014] 2063694d 6b63614a 646f4d20 00000065 f6ae9de0 f8ecc3ff f6a23800 00000009
[ 14.570014] Call Trace:
[ 14.578754] [<f8ecb558>] ? get_alloc_hash+0x41/0x7c [snd_hda_codec]
[ 14.578754] [<f8ecc3ff>] ? snd_hda_codec_write_cache+0x5c/0x66 [snd_hda_codec]
[ 14.578754] [<f8f37b14>] ? patch_stac92hd71bxx+0x5ce/0x624 [snd_hda_codec_idt]
[ 14.578754] [<f8ece8b6>] ? snd_hda_codec_configure+0x253/0x2fe [snd_hda_codec]
[ 14.578754] [<f8f0530f>] ? azx_probe+0x802/0x8ca [snd_hda_intel]
[ 14.578754] [<f8f0496c>] ? azx_send_cmd+0x0/0x136 [snd_hda_intel]
[ 14.578754] [<f8f047a9>] ? azx_get_response+0x0/0x1c3 [snd_hda_intel]
[ 14.578754] [<f8f03fe6>] ? azx_attach_pcm_stream+0x0/0x148 [snd_hda_intel]
[ 14.578754] [<f8f03c99>] ? azx_bus_reset+0x0/0x56 [snd_hda_intel]
[ 14.578754] [<f8f03b50>] ? azx_power_notify+0x0/0x57 [snd_hda_intel]
[ 14.578754] [<c029ae28>] ? local_pci_probe+0xe/0x10
[ 14.578754] [<c029b842>] ? pci_device_probe+0x43/0x66
[ 14.578754] [<c030e0fb>] ? really_probe+0x6a/0xf5
[ 14.578754] [<c030e1a2>] ? driver_probe_device+0x1c/0x1f
[ 14.578754] [<c030e1e8>] ? __driver_attach+0x43/0x5f
[ 14.578754] [<c030db8a>] ? bus_for_each_dev+0x3d/0x67
[ 14.578754] [<c030dfe3>] ? driver_attach+0x14/0x16
[ 14.578754] [<c030e1a5>] ? __driver_attach+0x0/0x5f
[ 14.578754] [<c030d61a>] ? bus_add_driver+0xa2/0x1c9
[ 14.578754] [<c030e42b>] ? driver_register+0x8b/0xeb
[ 14.578754] [<c029bb6d>] ? __pci_register_driver+0x38/0x93
[ 14.578754] [<c01453d1>] ? __blocking_notifier_call_chain+0x40/0x4c
[ 14.578754] [<f8f0b000>] ? alsa_card_azx_init+0x0/0x19 [snd_hda_intel]
[ 14.578754] [<f8f0b017>] ? alsa_card_azx_init+0x17/0x19 [snd_hda_intel]
[ 14.578754] [<c0101139>] ? do_one_initcall+0x4c/0x13a
[ 14.578754] [<c01531f9>] ? sys_init_module+0x87/0x18b
[ 14.578754] [<c01031d4>] ? sysenter_do_call+0x12/0x28
[ 14.578754] Code: 06 f5 ff ff 85 c0 0f 88 b6 06 00 00 8b 45 a0 89 da e8 c2 c9 f9 ff 85 c0 0f 88 a4 06 00 00 8b 4d a0 89 da 8b 41 68 b9 01 00 00 00 <80> 48 32 04 8b 45 a0 e8 fc 79 f9 ff 8b 5d a0 83 7b 68 00 74 2f
[ 14.578754] EIP: [<f8f35b2b>] stac92xx_parse_auto_config+0x616/0xd5f [snd_hda_codec_idt] SS:ESP 0068:f6ae9d7c
[ 14.578754] CR2: 0000000000000032
[ 14.810381] ---[ end trace af42daf6416d16f0 ]---
---
Note that I just tried 1.0.22 without this patch on that dv6 and I wasn't able to get any sound even the modules were correctly loaded. I checked the mixer levels they were OK. I'll try to dig into this with alsa-info but the main question now is how should I cleanly disable BEEP device?
Thanks,
Ozan
next reply other threads:[~2009-12-21 16:47 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-21 16:47 Ozan Çağlayan [this message]
2009-12-22 6:55 ` Problem with the new BEEP framework and HP dv6 Takashi Iwai
2009-12-22 7:04 ` Ozan Çağlayan
2009-12-22 7:06 ` Takashi Iwai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B2FA6A2.706@pardus.org.tr \
--to=ozan@pardus.org.tr \
--cc=alsa-devel@alsa-project.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.