[alsa-devel] Problems with snd_hda_intel in Linux kernel 2.6.38
tiwai at suse.de
Wed Mar 30 12:59:12 CEST 2011
At Wed, 30 Mar 2011 12:25:44 +0200,
Svante Signell wrote:
> On Tue, 2011-03-29 at 13:10 +0200, Takashi Iwai wrote:
> > At Tue, 29 Mar 2011 12:58:16 +0200,
> > Svante Signell wrote:
> > >
> > > On Tue, 2011-03-29 at 12:31 +0200, Takashi Iwai wrote:
> > > > At Tue, 29 Mar 2011 12:24:40 +0200,
> > > > Svante Signell wrote:
> > > > But let's check the Oops first as below.
> > > > Also, please try to decode the line from the code shown in the Oops.
> > > > It's a bit too little information to analyze, unfortunately.
> > As mentioned, you can decode the binary dump in Oops to guess which
> > line of the source code corresponds to the Oops point.
> > Use gdb or objdump to figure out the disassembled code.
> > For example,
> > % objdump -D -l /lib/modules/$(uname -r)/kernel/sound/pci/hda/snd-hda-intel.ko
> > Then look for azx_probe. Calculate the position from the offset
> > Oops gave, compare the hex codes with the data show in "Code" section
> > of Oops.
> > objdump with -l will show the source code line as well, so you'll see
> > now more exactly where it was triggered.
> Below is the kernel Oops and the objdump output related to azx_probe.
> Unfortunately I don't know where to find the Oops offset!
This is shown in below:
> [ 4.632005] RIP: 0010:[<ffffffffa061f416>] [<ffffffffa061f416>]
> azx_probe+0x3ad/0x870 [snd_hda_intel]
The offset is 0x3ad. As azx_probe() in the disassembled code begins
with 0x1fd, it points to 0x5aa (0x1fd + 0x3ad). You can see the
disassembled code matches with the dump in "Code:" in Oops.
However, you objdump output doesn't give the line number. Did you
install the corresponding debug package? Usually this is stripped in
the main package and provided as an add-on.
More information about the Alsa-devel