Takashi Iwai wrote On 07-08-2009 13:49:> At Fri, 07 Aug 2009 13:36:46 +0300,> Ozan Çağlayan wrote:> >> Takashi Iwai wrote On 07-08-2009 12:56:>> >>> At Fri, 7 Aug 2009 10:43:07 +0100,>>> James Courtier-Dutton wrote:>>> >>> >>>> 2009/8/7 Ozan Çağlayan <ozan@xxxxxxxxxxxxx>:>>>> >>>> >>>>> Added the following lines:>>>>>>>>>> printk(KERN_INFO "0x%p\n", jack);>>>>> printk(KERN_INFO "0x%p\n", jack->jack);>>>>> printk(KERN_INFO "0x%p\n", jack->jack->private_data);>>>>>>>>>> dmesg:>>>>>>>>>> NVRM: loading NVIDIA UNIX x86 Kernel Module 180.51 Thu Apr 16 19:02:15>>>>> PDT 2009>>>>> ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 22 (level, low) -> IRQ 22>>>>> PCI: Setting latency timer of device 0000:00:1b.0 to 64>>>>> 0xf777a614>>>>> 0x00000000>>>>> BUG: unable to handle kernel NULL pointer dereference at 00000074>>>>> IP: [<f93f2d97>] :snd_hda_codec_conexant:conexant_add_jack+0x57/0x81>>>>> *pde = 00000000·>>>>> Oops: 0000 [#1] SMP>>>>>>>>>> >>>>> >>>> Need more of the dmesg output.>>>> I.e. to see which print statements succeeded.>>>> Alternatively, attach the snd_hda.ko so one can see where in that file>>>> offset 0x57 is.>>>> But a more useful print would be:>>>> if (!jack) printk(KERN_INFO "jack null\n");>>>> else if (!(jack->jack)) printk(KERN_INFO "jack->jack null\n");>>>> else if (!(jack->jack->private_data)) printk(KERN_INFO>>>> "jack->jack->private_data null\n");>>>> >>>> >>> Well, it's fairly obvious that jack->jack is NULL as the second>>> output is NULL, and the third one hits Oops.>>>>>> Ozan, could you check whether CONFIG_SND_JACK is set in>>> stac92xx_add_jack, e.g. like below?>>>>>> >>> >> Nope it seems that it's not set as the #error pragma is executed. I>> looked into the configure script and found the following:>>>> if alsa_check_kconfig_option "hda-input-jack"; then>> 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_INPUT" = "y" -o "$CONFIG_INPUT" = "m" ); then>> test "$kversion.$kpatchlevel" = "2.6" -a $ksublevel -ge 27 &&>> CONFIG_SND_JACK="y">> CONFIG_SND_HDA_INPUT_JACK="y">> fi>>>> SND_JACK is set if sublevel >= 27 but SND_HDA_INPUT_JACK is set>> regardless of anything. Why the lower limit is 27 for that functionality?>> >> Because of kernel API change, it can't be built with older kernels.>> The patch below should fix the problem. Give it a try.>> The patch below doesn't undef CONFIG_SND_HDA_INPUT_JACK afterconfiguring. Actually there are config1.h* and config.h* and bothcontains def/undefs for *JACK* stuff. But I'll undefine it afterconfigure and then compile to see it the error goes. I don't have the computer right now, will continue to debug Monday. Thanks._______________________________________________Alsa-devel mailing listAlsa-devel@xxxxxxxxxxxxxxxxxxxx://mailman.alsa-project.org/mailman/listinfo/alsa-devel