[alsa-devel] Problems with snd_hda_intel in Linux kernel 2.6.38
Svante Signell
srs at kth.se
Wed Mar 30 12:25:44 CEST 2011
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!
Kernel Oops when booting:
=========================
[ 4.631033] Oops: 0009 [#1] SMP
[ 4.631187] last sysfs file: /sys/devices/virtual/net/lo/operstate
[ 4.631243] CPU 0
[ 4.631293] Modules linked in: snd_hda_intel(+) snd_hda_codec tpm_tis
tpm pcspkr snd_hwdep tpm_bios shpchp(+) pci_hotplug k8temp nouveau(+)
snd_pcm ttm drm_kms_helper drm parport_pc i2c_viapro i2c_algo_bit usblp
power_supply i2c_core parport edac_core video edac_mce_amd processor
psmouse evdev serio_raw button snd_seq snd_timer snd_seq_device snd
soundcore snd_page_alloc thermal_sys ext3 jbd mbcache sg sr_mod cdrom
usbhid sd_mod crc_t10dif ata_generic hid sata_via uhci_hcd pata_via
libata ehci_hcd usbcore scsi_mod via_rhine floppy mii nls_base [last
unloaded: scsi_wait_scan]
[ 4.632005]
[ 4.632005] Pid: 632, comm: work_for_cpu Not tainted 2.6.38-1-amd64
#1 MICRO-STAR INTERNATIONAL CO., LTD MS-7253/MS-7253
[ 4.632005] RIP: 0010:[<ffffffffa061f416>] [<ffffffffa061f416>]
azx_probe+0x3ad/0x870 [snd_hda_intel]
[ 4.632005] RSP: 0018:ffff88007c05be50 EFLAGS: 00010286
[ 4.632005] RAX: ffffc90013c98000 RBX: ffff880036de6000 RCX:
0000000000000006
[ 4.632005] RDX: 0000000000000000 RSI: 0000000000000246 RDI:
0000000000000246
[ 4.632005] RBP: ffff88007c93d000 R08: 0000000000000000 R09:
0000000000000040
[ 4.632005] R10: 0000000000000286 R11: 000000000000a971 R12:
ffff880036de5c00
[ 4.632005] R13: 0000000000000000 R14: 0000000000000000 R15:
ffff88007c93d090
[ 4.632005] FS: 00007f1cd2afb7a0(0000) GS:ffff88007fc00000(0000)
knlGS:0000000000000000
[ 4.632005] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[ 4.632005] CR2: ffffc90013c98000 CR3: 000000007c00f000 CR4:
00000000000006f0
[ 4.632005] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
0000000000000000
[ 4.632005] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7:
0000000000000400
[ 4.632005] Process work_for_cpu (pid: 632, threadinfo
ffff88007c05a000, task ffff88003713a880)
[ 4.632005] Stack:
[ 4.632005] 0000000000000005 ffffffff81240724 0000000000000001
ffff880036de5c00
[ 4.632005] 0000000000013700 ffff88007c93d000 ffff88007c93d090
ffff88007a7c7dc8
[ 4.632005] ffff88007c93d200 0000000000000000 0000000000000000
ffffffff811b1a42
[ 4.632005] Call Trace:
[ 4.632005] [<ffffffff81240724>] ? __pm_runtime_set_status
+0x162/0x186
[ 4.632005] [<ffffffff811b1a42>] ? local_pci_probe+0x49/0x92
[ 4.632005] [<ffffffff8105aad2>] ? do_work_for_cpu+0x0/0x1b
[ 4.632005] [<ffffffff8105aad2>] ? do_work_for_cpu+0x0/0x1b
[ 4.632005] [<ffffffff8105aadd>] ? do_work_for_cpu+0xb/0x1b
[ 4.632005] [<ffffffff8105fcdf>] ? kthread+0x7a/0x82
[ 4.632005] [<ffffffff8100a764>] ? kernel_thread_helper+0x4/0x10
[ 4.632005] [<ffffffff8105fc65>] ? kthread+0x0/0x82
[ 4.632005] [<ffffffff8100a760>] ? kernel_thread_helper+0x0/0x10
[ 4.632005] Code: f4 01 00 00 ef 31 f6 48 89 df e8 15 dd ff ff 85 c0
0f 88 2b 03 00 00 48 89 ef e8 ee 11 b9 e0 8b 7b 40 e8 9f 25 a7 e0 48 8b
43 38 <66> 8b 10 66 89 14 24 8b 43 14 83 e8 03 83 f8 01 77 32 31 d2 be
[ 4.632005] RIP [<ffffffffa061f416>] azx_probe+0x3ad/0x870
[snd_hda_intel]
[ 4.632005] RSP <ffff88007c05be50>
[ 4.632005] CR2: ffffc90013c98000
[ 4.632005] ---[ end trace c6748815fe9ff43b ]---
objdump -D -l /lib/modules/$(uname
-r)/kernel/sound/pci/hda/snd-hda-intel.ko
/lib/modules/2.6.38-1-amd64/kernel/sound/pci/hda/snd-hda-intel.ko:
file format elf64-x86-64
00000000000001fd <azx_probe>:
azx_probe():
(see attachment)
-------------- next part --------------
/lib/modules/2.6.38-1-amd64/kernel/sound/pci/hda/snd-hda-intel.ko: file format elf64-x86-64
00000000000001fd <azx_probe>:
azx_probe():
1fd: 41 57 push %r15
1ff: 41 56 push %r14
201: 41 be ed ff ff ff mov $0xffffffed,%r14d
207: 41 55 push %r13
209: 41 54 push %r12
20b: 55 push %rbp
20c: 48 89 fd mov %rdi,%rbp
20f: 53 push %rbx
210: 48 89 f3 mov %rsi,%rbx
213: 48 83 ec 28 sub $0x28,%rsp
217: 8b 15 00 00 00 00 mov 0x0(%rip),%edx # 21d <azx_probe+0x20>
21d: 83 fa 1f cmp $0x1f,%edx
220: 0f 8f 35 08 00 00 jg a5b <azx_probe+0x85e>
226: 48 63 c2 movslq %edx,%rax
229: 83 3c 85 00 00 00 00 cmpl $0x0,0x0(,%rax,4)
230: 00
231: 75 13 jne 246 <azx_probe+0x49>
233: ff c2 inc %edx
235: 41 be fe ff ff ff mov $0xfffffffe,%r14d
23b: 89 15 00 00 00 00 mov %edx,0x0(%rip) # 241 <azx_probe+0x44>
241: e9 15 08 00 00 jmpq a5b <azx_probe+0x85e>
246: 48 8b 34 c5 00 00 00 mov 0x0(,%rax,8),%rsi
24d: 00
24e: 8b 3c 85 00 00 00 00 mov 0x0(,%rax,4),%edi
255: 4c 8d 44 24 18 lea 0x18(%rsp),%r8
25a: 31 c9 xor %ecx,%ecx
25c: 48 c7 c2 00 00 00 00 mov $0x0,%rdx
263: e8 00 00 00 00 callq 268 <azx_probe+0x6b>
268: 85 c0 test %eax,%eax
26a: 41 89 c6 mov %eax,%r14d
26d: 79 13 jns 282 <azx_probe+0x85>
26f: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
276: 31 c0 xor %eax,%eax
278: e8 00 00 00 00 callq 27d <azx_probe+0x80>
27d: e9 d9 07 00 00 jmpq a5b <azx_probe+0x85e>
282: 48 8b 44 24 18 mov 0x18(%rsp),%rax
287: 4c 8d bd 90 00 00 00 lea 0x90(%rbp),%r15
28e: 48 89 ef mov %rbp,%rdi
291: 4c 89 b8 40 02 00 00 mov %r15,0x240(%rax)
298: 48 8b 5b 18 mov 0x18(%rbx),%rbx
29c: 44 8b 2d 00 00 00 00 mov 0x0(%rip),%r13d # 2a3 <azx_probe+0xa6>
2a3: 4c 8b 64 24 18 mov 0x18(%rsp),%r12
2a8: 48 89 1c 24 mov %rbx,(%rsp)
2ac: e8 00 00 00 00 callq 2b1 <azx_probe+0xb4>
2b1: 85 c0 test %eax,%eax
2b3: 41 89 c6 mov %eax,%r14d
2b6: 0f 88 95 07 00 00 js a51 <azx_probe+0x854>
2bc: bf 50 02 00 00 mov $0x250,%edi
2c1: e8 00 00 00 00 callq 2c6 <azx_probe+0xc9>
2c6: 48 85 c0 test %rax,%rax
2c9: 48 89 c3 mov %rax,%rbx
2cc: 75 21 jne 2ef <azx_probe+0xf2>
2ce: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
2d5: 31 c0 xor %eax,%eax
2d7: 41 be f4 ff ff ff mov $0xfffffff4,%r14d
2dd: e8 00 00 00 00 callq 2e2 <azx_probe+0xe5>
2e2: 48 89 ef mov %rbp,%rdi
2e5: e8 00 00 00 00 callq 2ea <azx_probe+0xed>
2ea: e9 62 07 00 00 jmpq a51 <azx_probe+0x854>
2ef: 48 8d 78 48 lea 0x48(%rax),%rdi
2f3: c7 40 44 00 00 00 00 movl $0x0,0x44(%rax)
2fa: 48 c7 c2 00 00 00 00 mov $0x0,%rdx
301: 48 c7 c6 00 00 00 00 mov $0x0,%rsi
308: e8 00 00 00 00 callq 30d <azx_probe+0x110>
30d: 4c 89 23 mov %r12,(%rbx)
310: 48 89 6b 08 mov %rbp,0x8(%rbx)
314: c7 43 40 ff ff ff ff movl $0xffffffff,0x40(%rbx)
31b: 8b 04 24 mov (%rsp),%eax
31e: 89 43 14 mov %eax,0x14(%rbx)
321: 83 3d 00 00 00 00 00 cmpl $0x0,0x0(%rip) # 328 <azx_probe+0x12b>
328: 8a 83 f4 01 00 00 mov 0x1f4(%rbx),%al
32e: 7c 08 jl 338 <azx_probe+0x13b>
330: 0f 95 c2 setne %dl
333: c1 e2 04 shl $0x4,%edx
336: eb 48 jmp 380 <azx_probe+0x183>
338: 83 c8 10 or $0x10,%eax
33b: 48 c7 c6 00 00 00 00 mov $0x0,%rsi
342: 48 89 ef mov %rbp,%rdi
345: 88 83 f4 01 00 00 mov %al,0x1f4(%rbx)
34b: e8 00 00 00 00 callq 350 <azx_probe+0x153>
350: 48 85 c0 test %rax,%rax
353: 49 89 c6 mov %rax,%r14
356: 74 35 je 38d <azx_probe+0x190>
358: 0f b7 50 02 movzwl 0x2(%rax),%edx
35c: 0f b7 30 movzwl (%rax),%esi
35f: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
366: 8b 48 08 mov 0x8(%rax),%ecx
369: 31 c0 xor %eax,%eax
36b: e8 00 00 00 00 callq 370 <azx_probe+0x173>
370: 41 8b 56 08 mov 0x8(%r14),%edx
374: 8a 83 f4 01 00 00 mov 0x1f4(%rbx),%al
37a: 83 e2 01 and $0x1,%edx
37d: c1 e2 04 shl $0x4,%edx
380: 83 e0 ef and $0xffffffffffffffef,%eax
383: 09 d0 or %edx,%eax
385: 88 83 f4 01 00 00 mov %al,0x1f4(%rbx)
38b: eb 1b jmp 3a8 <azx_probe+0x1ab>
38d: 83 7b 14 08 cmpl $0x8,0x14(%rbx)
391: 75 15 jne 3a8 <azx_probe+0x1ab>
393: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
39a: 31 c0 xor %eax,%eax
39c: e8 00 00 00 00 callq 3a1 <azx_probe+0x1a4>
3a1: 80 a3 f4 01 00 00 ef andb $0xef,0x1f4(%rbx)
3a8: 48 8d 83 20 02 00 00 lea 0x220(%rbx),%rax
3af: 44 89 6b 10 mov %r13d,0x10(%rbx)
3b3: 48 c7 83 18 02 00 00 movq $0x20100,0x218(%rbx)
3ba: 00 01 02 00
3be: 48 c7 83 30 02 00 00 movq $0x0,0x230(%rbx)
3c5: 00 00 00 00
3c9: 48 89 83 20 02 00 00 mov %rax,0x220(%rbx)
3d0: 48 89 83 28 02 00 00 mov %rax,0x228(%rbx)
3d7: 49 63 c5 movslq %r13d,%rax
3da: 8b 04 85 00 00 00 00 mov 0x0(,%rax,4),%eax
3e1: 8d 50 ff lea -0x1(%rax),%edx
3e4: 83 fa 02 cmp $0x2,%edx
3e7: 76 51 jbe 43a <azx_probe+0x23d>
3e9: 48 8b 7b 08 mov 0x8(%rbx),%rdi
3ed: 48 c7 c6 00 00 00 00 mov $0x0,%rsi
3f4: e8 00 00 00 00 callq 3f9 <azx_probe+0x1fc>
3f9: 48 85 c0 test %rax,%rax
3fc: 49 89 c6 mov %rax,%r14
3ff: 74 1e je 41f <azx_probe+0x222>
401: 0f b7 48 02 movzwl 0x2(%rax),%ecx
405: 0f b7 10 movzwl (%rax),%edx
408: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
40f: 8b 70 08 mov 0x8(%rax),%esi
412: 31 c0 xor %eax,%eax
414: e8 00 00 00 00 callq 419 <azx_probe+0x21c>
419: 41 8b 46 08 mov 0x8(%r14),%eax
41d: eb 1b jmp 43a <azx_probe+0x23d>
41f: 8b 53 14 mov 0x14(%rbx),%edx
422: 31 c0 xor %eax,%eax
424: 8d 4a fd lea -0x3(%rdx),%ecx
427: 83 f9 02 cmp $0x2,%ecx
42a: 77 0e ja 43a <azx_probe+0x23d>
42c: 48 63 d2 movslq %edx,%rdx
42f: 48 83 ea 03 sub $0x3,%rdx
433: 8b 04 95 00 00 00 00 mov 0x0(,%rdx,4),%eax
43a: 89 83 ec 01 00 00 mov %eax,0x1ec(%rbx)
440: 89 83 e8 01 00 00 mov %eax,0x1e8(%rbx)
446: 49 63 c5 movslq %r13d,%rax
449: 8b 04 85 00 00 00 00 mov 0x0(,%rax,4),%eax
450: 89 83 c4 00 00 00 mov %eax,0xc4(%rbx)
456: ff c0 inc %eax
458: 75 3a jne 494 <azx_probe+0x297>
45a: 48 8b 7b 08 mov 0x8(%rbx),%rdi
45e: 48 c7 c6 00 00 00 00 mov $0x0,%rsi
465: e8 00 00 00 00 callq 46a <azx_probe+0x26d>
46a: 48 85 c0 test %rax,%rax
46d: 49 89 c6 mov %rax,%r14
470: 74 22 je 494 <azx_probe+0x297>
472: 0f b7 48 02 movzwl 0x2(%rax),%ecx
476: 0f b7 10 movzwl (%rax),%edx
479: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
480: 8b 70 08 mov 0x8(%rax),%esi
483: 31 c0 xor %eax,%eax
485: e8 00 00 00 00 callq 48a <azx_probe+0x28d>
48a: 41 8b 46 08 mov 0x8(%r14),%eax
48e: 89 83 c4 00 00 00 mov %eax,0xc4(%rbx)
494: 8b b3 c4 00 00 00 mov 0xc4(%rbx),%esi
49a: 83 fe ff cmp $0xffffffffffffffff,%esi
49d: 74 25 je 4c4 <azx_probe+0x2c7>
49f: f7 c6 00 01 00 00 test $0x100,%esi
4a5: 74 1d je 4c4 <azx_probe+0x2c7>
4a7: 66 81 e6 ff 00 and $0xff,%si
4ac: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
4b3: 31 c0 xor %eax,%eax
4b5: 66 89 b3 c0 00 00 00 mov %si,0xc0(%rbx)
4bc: 0f b7 f6 movzwl %si,%esi
4bf: e8 00 00 00 00 callq 4c4 <azx_probe+0x2c7>
4c4: 8b 15 00 00 00 00 mov 0x0(%rip),%edx # 4ca <azx_probe+0x2cd>
4ca: 8a 83 f4 01 00 00 mov 0x1f4(%rbx),%al
4d0: 83 e2 01 and $0x1,%edx
4d3: 83 e0 fb and $0xfffffffffffffffb,%eax
4d6: c1 e2 02 shl $0x2,%edx
4d9: 09 d0 or %edx,%eax
4db: 49 63 d5 movslq %r13d,%rdx
4de: 88 83 f4 01 00 00 mov %al,0x1f4(%rbx)
4e4: 83 3c 95 00 00 00 00 cmpl $0x0,0x0(,%rdx,4)
4eb: 00
4ec: 79 15 jns 503 <azx_probe+0x306>
4ee: 8b 43 14 mov 0x14(%rbx),%eax
4f1: 83 f8 02 cmp $0x2,%eax
4f4: 19 c0 sbb %eax,%eax
4f6: 83 e0 e1 and $0xffffffffffffffe1,%eax
4f9: 83 c0 20 add $0x20,%eax
4fc: 89 04 95 00 00 00 00 mov %eax,0x0(,%rdx,4)
503: 48 c7 c6 00 00 00 00 mov $0x0,%rsi
50a: 48 89 ef mov %rbp,%rdi
50d: e8 00 00 00 00 callq 512 <azx_probe+0x315>
512: 85 c0 test %eax,%eax
514: 41 89 c6 mov %eax,%r14d
517: 79 15 jns 52e <azx_probe+0x331>
519: 48 89 df mov %rbx,%rdi
51c: e8 00 00 00 00 callq 521 <azx_probe+0x324>
521: 48 89 ef mov %rbp,%rdi
524: e8 00 00 00 00 callq 529 <azx_probe+0x32c>
529: e9 23 05 00 00 jmpq a51 <azx_probe+0x854>
52e: 48 8b 85 e8 02 00 00 mov 0x2e8(%rbp),%rax
535: 31 f6 xor %esi,%esi
537: 48 89 ef mov %rbp,%rdi
53a: 48 89 43 30 mov %rax,0x30(%rbx)
53e: e8 00 00 00 00 callq 543 <azx_probe+0x346>
543: 48 85 c0 test %rax,%rax
546: 48 89 43 38 mov %rax,0x38(%rbx)
54a: 75 17 jne 563 <azx_probe+0x366>
54c: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
553: 41 be fa ff ff ff mov $0xfffffffa,%r14d
559: e8 00 00 00 00 callq 55e <azx_probe+0x361>
55e: e9 64 03 00 00 jmpq 8c7 <azx_probe+0x6ca>
563: f6 83 f4 01 00 00 10 testb $0x10,0x1f4(%rbx)
56a: 74 18 je 584 <azx_probe+0x387>
56c: be 01 00 00 00 mov $0x1,%esi
571: 48 89 ef mov %rbp,%rdi
574: e8 00 00 00 00 callq 579 <azx_probe+0x37c>
579: 85 c0 test %eax,%eax
57b: 79 07 jns 584 <azx_probe+0x387>
57d: 80 a3 f4 01 00 00 ef andb $0xef,0x1f4(%rbx)
584: 31 f6 xor %esi,%esi
586: 48 89 df mov %rbx,%rdi
589: e8 00 00 00 00 callq 58e <azx_probe+0x391>
58e: 85 c0 test %eax,%eax
590: 0f 88 2b 03 00 00 js 8c1 <azx_probe+0x6c4>
596: 48 89 ef mov %rbp,%rdi
599: e8 00 00 00 00 callq 59e <azx_probe+0x3a1>
59e: 8b 7b 40 mov 0x40(%rbx),%edi
5a1: e8 00 00 00 00 callq 5a6 <azx_probe+0x3a9>
5a6: 48 8b 43 38 mov 0x38(%rbx),%rax
5aa: 66 8b 10 mov (%rax),%dx
5ad: 66 89 14 24 mov %dx,(%rsp)
5b1: 8b 43 14 mov 0x14(%rbx),%eax
5b4: 83 e8 03 sub $0x3,%eax
5b7: 83 f8 01 cmp $0x1,%eax
5ba: 77 32 ja 5ee <azx_probe+0x3f1>
5bc: 31 d2 xor %edx,%edx
5be: be 85 43 00 00 mov $0x4385,%esi
5c3: bf 02 10 00 00 mov $0x1002,%edi
5c8: e8 00 00 00 00 callq 5cd <azx_probe+0x3d0>
5cd: 48 85 c0 test %rax,%rax
5d0: 74 1c je 5ee <azx_probe+0x3f1>
5d2: 8b 14 24 mov (%rsp),%edx
5d5: 8b 0c 24 mov (%rsp),%ecx
5d8: 48 89 c7 mov %rax,%rdi
5db: 83 e2 fe and $0xfffffffffffffffe,%edx
5de: 80 78 48 2f cmpb $0x2f,0x48(%rax)
5e2: 0f 46 ca cmovbe %edx,%ecx
5e5: 66 89 0c 24 mov %cx,(%rsp)
5e9: e8 00 00 00 00 callq 5ee <azx_probe+0x3f1>
5ee: 8b 04 24 mov (%rsp),%eax
5f1: 8b 14 24 mov (%rsp),%edx
5f4: 83 e0 fe and $0xfffffffffffffffe,%eax
5f7: 83 7b 14 09 cmpl $0x9,0x14(%rbx)
5fb: 0f 44 d0 cmove %eax,%edx
5fe: 66 89 14 24 mov %dx,(%rsp)
602: 80 e2 01 and $0x1,%dl
605: 74 2d je 634 <azx_probe+0x437>
607: 48 83 ce ff or $0xffffffffffffffff,%rsi
60b: 4c 89 ff mov %r15,%rdi
60e: e8 00 00 00 00 callq 613 <azx_probe+0x416>
613: 85 c0 test %eax,%eax
615: 75 1d jne 634 <azx_probe+0x437>
617: 48 83 ce ff or $0xffffffffffffffff,%rsi
61b: 4c 89 ff mov %r15,%rdi
61e: e8 00 00 00 00 callq 623 <azx_probe+0x426>
623: 85 c0 test %eax,%eax
625: 74 37 je 65e <azx_probe+0x461>
627: 48 c7 85 50 02 00 00 movq $0xffffffffffffffff,0x250(%rbp)
62e: ff ff ff ff
632: eb 2a jmp 65e <azx_probe+0x461>
634: be ff ff ff ff mov $0xffffffff,%esi
639: 4c 89 ff mov %r15,%rdi
63c: e8 00 00 00 00 callq 641 <azx_probe+0x444>
641: be ff ff ff ff mov $0xffffffff,%esi
646: 4c 89 ff mov %r15,%rdi
649: e8 00 00 00 00 callq 64e <azx_probe+0x451>
64e: 85 c0 test %eax,%eax
650: 74 0c je 65e <azx_probe+0x461>
652: be ff ff ff ff mov $0xffffffff,%esi
657: 48 89 b5 50 02 00 00 mov %rsi,0x250(%rbp)
65e: 8b 0c 24 mov (%rsp),%ecx
661: 89 ca mov %ecx,%edx
663: 0f b6 c5 movzbl %ch,%eax
666: 66 c1 ea 0c shr $0xc,%dx
66a: 83 e0 0f and $0xf,%eax
66d: 0f b7 d2 movzwl %dx,%edx
670: 89 43 20 mov %eax,0x20(%rbx)
673: 85 d2 test %edx,%edx
675: 89 53 18 mov %edx,0x18(%rbx)
678: 75 3f jne 6b9 <azx_probe+0x4bc>
67a: 85 c0 test %eax,%eax
67c: 75 3b jne 6b9 <azx_probe+0x4bc>
67e: 8b 43 14 mov 0x14(%rbx),%eax
681: 83 f8 04 cmp $0x4,%eax
684: 74 15 je 69b <azx_probe+0x49e>
686: 83 f8 07 cmp $0x7,%eax
689: 75 20 jne 6ab <azx_probe+0x4ae>
68b: c7 43 18 06 00 00 00 movl $0x6,0x18(%rbx)
692: c7 43 20 05 00 00 00 movl $0x5,0x20(%rbx)
699: eb 1e jmp 6b9 <azx_probe+0x4bc>
69b: c7 43 18 01 00 00 00 movl $0x1,0x18(%rbx)
6a2: c7 43 20 00 00 00 00 movl $0x0,0x20(%rbx)
6a9: eb 0e jmp 6b9 <azx_probe+0x4bc>
6ab: c7 43 18 04 00 00 00 movl $0x4,0x18(%rbx)
6b2: c7 43 20 04 00 00 00 movl $0x4,0x20(%rbx)
6b9: 8b 7b 20 mov 0x20(%rbx),%edi
6bc: 48 ba ff ff ff ff ff movabs $0x1ffffffffffffff,%rdx
6c3: ff ff 01
6c6: 31 c0 xor %eax,%eax
6c8: c7 43 24 00 00 00 00 movl $0x0,0x24(%rbx)
6cf: 89 7b 1c mov %edi,0x1c(%rbx)
6d2: 03 7b 18 add 0x18(%rbx),%edi
6d5: 89 7b 28 mov %edi,0x28(%rbx)
6d8: 48 63 ff movslq %edi,%rdi
6db: 48 39 d7 cmp %rdx,%rdi
6de: 77 0e ja 6ee <azx_probe+0x4f1>
6e0: 48 c1 e7 07 shl $0x7,%rdi
6e4: be d0 80 00 00 mov $0x80d0,%esi
6e9: e8 00 00 00 00 callq 6ee <azx_probe+0x4f1>
6ee: 31 ed xor %ebp,%ebp
6f0: 48 85 c0 test %rax,%rax
6f3: 48 89 43 68 mov %rax,0x68(%rbx)
6f7: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
6fe: 75 3f jne 73f <azx_probe+0x542>
700: eb 31 jmp 733 <azx_probe+0x536>
702: 48 63 cd movslq %ebp,%rcx
705: 48 81 c6 90 00 00 00 add $0x90,%rsi
70c: ba 00 10 00 00 mov $0x1000,%edx
711: 48 c1 e1 07 shl $0x7,%rcx
715: 48 03 4b 68 add 0x68(%rbx),%rcx
719: bf 02 00 00 00 mov $0x2,%edi
71e: e8 00 00 00 00 callq 723 <azx_probe+0x526>
723: 85 c0 test %eax,%eax
725: 41 89 c6 mov %eax,%r14d
728: 79 13 jns 73d <azx_probe+0x540>
72a: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
731: 31 c0 xor %eax,%eax
733: e8 00 00 00 00 callq 738 <azx_probe+0x53b>
738: e9 8a 01 00 00 jmpq 8c7 <azx_probe+0x6ca>
73d: ff c5 inc %ebp
73f: 8b 53 28 mov 0x28(%rbx),%edx
742: 48 8b 73 08 mov 0x8(%rbx),%rsi
746: 39 d5 cmp %edx,%ebp
748: 7c b8 jl 702 <azx_probe+0x505>
74a: c1 e2 03 shl $0x3,%edx
74d: 48 8d 8b b8 01 00 00 lea 0x1b8(%rbx),%rcx
754: 48 81 c6 90 00 00 00 add $0x90,%rsi
75b: bf 02 00 00 00 mov $0x2,%edi
760: 48 63 d2 movslq %edx,%rdx
763: e8 00 00 00 00 callq 768 <azx_probe+0x56b>
768: 85 c0 test %eax,%eax
76a: 41 89 c6 mov %eax,%r14d
76d: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
774: 78 bb js 731 <azx_probe+0x534>
776: 48 8b 73 08 mov 0x8(%rbx),%rsi
77a: 48 8d 8b 88 01 00 00 lea 0x188(%rbx),%rcx
781: ba 00 10 00 00 mov $0x1000,%edx
786: bf 02 00 00 00 mov $0x2,%edi
78b: 48 81 c6 90 00 00 00 add $0x90,%rsi
792: e8 00 00 00 00 callq 797 <azx_probe+0x59a>
797: 85 c0 test %eax,%eax
799: 41 89 c6 mov %eax,%r14d
79c: 78 0e js 7ac <azx_probe+0x5af>
79e: ba 80 00 00 00 mov $0x80,%edx
7a3: 31 c9 xor %ecx,%ecx
7a5: be 01 00 00 00 mov $0x1,%esi
7aa: eb 4d jmp 7f9 <azx_probe+0x5fc>
7ac: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
7b3: e9 79 ff ff ff jmpq 731 <azx_probe+0x534>
7b8: 8d 3c cd 00 00 00 00 lea 0x0(,%rcx,8),%edi
7bf: 48 63 c1 movslq %ecx,%rax
7c2: 48 c1 e0 07 shl $0x7,%rax
7c6: 48 03 43 68 add 0x68(%rbx),%rax
7ca: 48 63 ff movslq %edi,%rdi
7cd: 48 03 bb c8 01 00 00 add 0x1c8(%rbx),%rdi
7d4: 48 89 78 30 mov %rdi,0x30(%rax)
7d8: 48 63 fa movslq %edx,%rdi
7db: 48 03 7b 38 add 0x38(%rbx),%rdi
7df: 83 c2 20 add $0x20,%edx
7e2: 88 48 75 mov %cl,0x75(%rax)
7e5: 48 89 78 58 mov %rdi,0x58(%rax)
7e9: 89 f7 mov %esi,%edi
7eb: d3 e7 shl %cl,%edi
7ed: 89 78 60 mov %edi,0x60(%rax)
7f0: 8d 79 01 lea 0x1(%rcx),%edi
7f3: ff c1 inc %ecx
7f5: 40 88 78 74 mov %dil,0x74(%rax)
7f9: 3b 4b 28 cmp 0x28(%rbx),%ecx
7fc: 7c ba jl 7b8 <azx_probe+0x5bb>
7fe: 48 89 df mov %rbx,%rdi
801: 4d 63 ed movslq %r13d,%r13
804: e8 00 00 00 00 callq 809 <azx_probe+0x60c>
809: 42 8b 34 ad 00 00 00 mov 0x0(,%r13,4),%esi
810: 00
811: 48 89 df mov %rbx,%rdi
814: d1 ee shr %esi
816: 83 f6 01 xor $0x1,%esi
819: 83 e6 01 and $0x1,%esi
81c: e8 00 00 00 00 callq 821 <azx_probe+0x624>
821: 66 83 bb c0 00 00 00 cmpw $0x0,0xc0(%rbx)
828: 00
829: 75 19 jne 844 <azx_probe+0x647>
82b: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
832: 31 c0 xor %eax,%eax
834: 41 be ed ff ff ff mov $0xffffffed,%r14d
83a: e8 00 00 00 00 callq 83f <azx_probe+0x642>
83f: e9 83 00 00 00 jmpq 8c7 <azx_probe+0x6ca>
844: 4c 89 e7 mov %r12,%rdi
847: 48 c7 c1 00 00 00 00 mov $0x0,%rcx
84e: 48 89 da mov %rbx,%rdx
851: be 00 20 00 00 mov $0x2000,%esi
856: e8 00 00 00 00 callq 85b <azx_probe+0x65e>
85b: 85 c0 test %eax,%eax
85d: 41 89 c6 mov %eax,%r14d
860: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
867: 0f 88 c4 fe ff ff js 731 <azx_probe+0x534>
86d: 49 8d 7c 24 14 lea 0x14(%r12),%rdi
872: 48 c7 c6 00 00 00 00 mov $0x0,%rsi
879: 49 8d 6c 24 24 lea 0x24(%r12),%rbp
87e: e8 00 00 00 00 callq 883 <azx_probe+0x686>
883: 48 63 43 14 movslq 0x14(%rbx),%rax
887: 48 89 ef mov %rbp,%rdi
88a: ba 20 00 00 00 mov $0x20,%edx
88f: 48 8b 34 c5 00 00 00 mov 0x0(,%rax,8),%rsi
896: 00
897: e8 00 00 00 00 callq 89c <azx_probe+0x69f>
89c: 44 8b 4b 40 mov 0x40(%rbx),%r9d
8a0: 4c 8b 43 30 mov 0x30(%rbx),%r8
8a4: 49 8d 7c 24 44 lea 0x44(%r12),%rdi
8a9: 48 89 e9 mov %rbp,%rcx
8ac: 48 c7 c2 00 00 00 00 mov $0x0,%rdx
8b3: be 50 00 00 00 mov $0x50,%esi
8b8: 31 c0 xor %eax,%eax
8ba: e8 00 00 00 00 callq 8bf <azx_probe+0x6c2>
8bf: eb 19 jmp 8da <azx_probe+0x6dd>
8c1: 41 be f0 ff ff ff mov $0xfffffff0,%r14d
8c7: 48 89 df mov %rbx,%rdi
8ca: e8 00 00 00 00 callq 8cf <azx_probe+0x6d2>
8cf: 45 85 f6 test %r14d,%r14d
8d2: 0f 88 79 01 00 00 js a51 <azx_probe+0x854>
8d8: 31 db xor %ebx,%ebx
8da: 48 8b 44 24 18 mov 0x18(%rsp),%rax
8df: 48 89 df mov %rbx,%rdi
8e2: 48 89 98 70 01 00 00 mov %rbx,0x170(%rax)
8e9: 48 63 05 00 00 00 00 movslq 0x0(%rip),%rax # 8f0 <azx_probe+0x6f3>
8f0: 8b 14 85 00 00 00 00 mov 0x0(,%rax,4),%edx
8f7: 89 93 d0 00 00 00 mov %edx,0xd0(%rbx)
8fd: 48 8b 34 c5 00 00 00 mov 0x0(,%rax,8),%rsi
904: 00
905: e8 f6 f6 ff ff callq 0 <azx_codec_create>
90a: 85 c0 test %eax,%eax
90c: 41 89 c6 mov %eax,%r14d
90f: 0f 88 3c 01 00 00 js a51 <azx_probe+0x854>
915: 48 63 05 00 00 00 00 movslq 0x0(%rip),%rax # 91c <azx_probe+0x71f>
91c: 48 8b 34 c5 00 00 00 mov 0x0(,%rax,8),%rsi
923: 00
924: 48 85 f6 test %rsi,%rsi
927: 74 39 je 962 <azx_probe+0x765>
929: 80 3e 00 cmpb $0x0,(%rsi)
92c: 74 34 je 962 <azx_probe+0x765>
92e: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
935: 31 c0 xor %eax,%eax
937: e8 00 00 00 00 callq 93c <azx_probe+0x73f>
93c: 48 63 05 00 00 00 00 movslq 0x0(%rip),%rax # 943 <azx_probe+0x746>
943: 48 8b bb c8 00 00 00 mov 0xc8(%rbx),%rdi
94a: 48 8b 34 c5 00 00 00 mov 0x0(,%rax,8),%rsi
951: 00
952: e8 00 00 00 00 callq 957 <azx_probe+0x75a>
957: 85 c0 test %eax,%eax
959: 41 89 c6 mov %eax,%r14d
95c: 0f 88 ef 00 00 00 js a51 <azx_probe+0x854>
962: 48 63 05 00 00 00 00 movslq 0x0(%rip),%rax # 969 <azx_probe+0x76c>
969: f6 04 85 00 00 00 00 testb $0x1,0x0(,%rax,4)
970: 01
971: 75 38 jne 9ab <azx_probe+0x7ae>
973: 48 8b 83 c8 00 00 00 mov 0xc8(%rbx),%rax
97a: 48 8b 68 58 mov 0x58(%rax),%rbp
97e: eb 0c jmp 98c <azx_probe+0x78f>
980: 48 89 ef mov %rbp,%rdi
983: e8 00 00 00 00 callq 988 <azx_probe+0x78b>
988: 48 8b 6d 10 mov 0x10(%rbp),%rbp
98c: 48 83 ed 10 sub $0x10,%rbp
990: 48 8b 45 10 mov 0x10(%rbp),%rax
994: 48 8d 55 10 lea 0x10(%rbp),%rdx
998: 0f 18 08 prefetcht0 (%rax)
99b: 48 8b 83 c8 00 00 00 mov 0xc8(%rbx),%rax
9a2: 48 83 c0 58 add $0x58,%rax
9a6: 48 39 c2 cmp %rax,%rdx
9a9: 75 d5 jne 980 <azx_probe+0x783>
9ab: 48 8b bb c8 00 00 00 mov 0xc8(%rbx),%rdi
9b2: e8 00 00 00 00 callq 9b7 <azx_probe+0x7ba>
9b7: 85 c0 test %eax,%eax
9b9: 41 89 c6 mov %eax,%r14d
9bc: 0f 88 8f 00 00 00 js a51 <azx_probe+0x854>
9c2: 48 8b bb c8 00 00 00 mov 0xc8(%rbx),%rdi
9c9: e8 00 00 00 00 callq 9ce <azx_probe+0x7d1>
9ce: 85 c0 test %eax,%eax
9d0: 41 89 c6 mov %eax,%r14d
9d3: 78 7c js a51 <azx_probe+0x854>
9d5: 48 8b 7c 24 18 mov 0x18(%rsp),%rdi
9da: e8 00 00 00 00 callq 9df <azx_probe+0x7e2>
9df: 85 c0 test %eax,%eax
9e1: 41 89 c6 mov %eax,%r14d
9e4: 78 6b js a51 <azx_probe+0x854>
9e6: 48 8b 74 24 18 mov 0x18(%rsp),%rsi
9eb: 4c 89 ff mov %r15,%rdi
9ee: e8 00 00 00 00 callq 9f3 <azx_probe+0x7f6>
9f3: 48 8b 83 c8 00 00 00 mov 0xc8(%rbx),%rax
9fa: 80 8b f4 01 00 00 01 orb $0x1,0x1f4(%rbx)
a01: 48 8b 68 58 mov 0x58(%rax),%rbp
a05: eb 0c jmp a13 <azx_probe+0x816>
a07: 48 89 ef mov %rbp,%rdi
a0a: e8 00 00 00 00 callq a0f <azx_probe+0x812>
a0f: 48 8b 6d 10 mov 0x10(%rbp),%rbp
a13: 48 83 ed 10 sub $0x10,%rbp
a17: 48 8b 45 10 mov 0x10(%rbp),%rax
a1b: 48 8d 55 10 lea 0x10(%rbp),%rdx
a1f: 0f 18 08 prefetcht0 (%rax)
a22: 48 8b 83 c8 00 00 00 mov 0xc8(%rbx),%rax
a29: 48 83 c0 58 add $0x58,%rax
a2d: 48 39 c2 cmp %rax,%rdx
a30: 75 d5 jne a07 <azx_probe+0x80a>
a32: 48 8d bb 38 02 00 00 lea 0x238(%rbx),%rdi
a39: 48 c7 83 38 02 00 00 movq $0x0,0x238(%rbx)
a40: 00 00 00 00
a44: e8 00 00 00 00 callq a49 <azx_probe+0x84c>
a49: ff 05 00 00 00 00 incl 0x0(%rip) # a4f <azx_probe+0x852>
a4f: eb 0a jmp a5b <azx_probe+0x85e>
a51: 48 8b 7c 24 18 mov 0x18(%rsp),%rdi
a56: e8 00 00 00 00 callq a5b <azx_probe+0x85e>
a5b: 48 83 c4 28 add $0x28,%rsp
a5f: 44 89 f0 mov %r14d,%eax
a62: 5b pop %rbx
a63: 5d pop %rbp
a64: 41 5c pop %r12
a66: 41 5d pop %r13
a68: 41 5e pop %r14
a6a: 41 5f pop %r15
a6c: c3 retq
More information about the Alsa-devel
mailing list