Panic in gart_map_sg

From: Amit Shah
Date: Thu Oct 25 2007 - 03:12:22 EST


I get a kernel panic at gart_map_sg+0x201/0x470, which is around here:

out++;
flush_gart();
if (out < nents) {
sgmap = sg_next(sgmap);
sgmap->dma_length = 0;
}
return out;

8e5: e8 d6 fc ff ff callq 5c0 <flush_gart>
8ea: ff c3 inc %ebx
8ec: 41 39 df cmp %ebx,%r15d
8ef: 0f 8e 9d 00 00 00 jle 992 <gart_map_sg+0x292>
8f5: 31 c9 xor %ecx,%ecx
8f7: f6 45 00 02 testb $0x2,0x0(%rbp)
8fb: 0f 84 1f 02 00 00 je b20 <gart_map_sg+0x420>
901: c7 41 18 00 00 00 00 movl $0x0,0x18(%rcx)
908: e9 85 00 00 00 jmpq 992 <gart_map_sg+0x292>
90d: 0f 1f 00 nopl (%rax)
910: 44 89 e0 mov %r12d,%eax
913: 29 f0 sub %esi,%eax
915: 45 85 d2 test %r10d,%r10d
918: 89 c6 mov %eax,%esi
91a: 0f 85 02 ff ff ff jne 822 <gart_map_sg+0x122>
920: ff ce dec %esi
922: 75 65 jne 989 <gart_map_sg+0x289>


My system is an AMD Opteron 1216. I'm not sure if only adding a check
for sgmap != NULL after sg_next is the right fix.

--
Amit Shah
http://www.amitshah.net/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/