2002-11-25 16:05:34

by Marc-Christian Petersen

[permalink] [raw]
Subject: [BUG] 2.4.20-rc2-ac3 oops (causer is DRM 4.3.x code)

Hi Alan, Hi Arjan,

with XFree 4.2.1, r128 modular, get's loaded at startup of X, and then:

Nov 25 17:06:41 codeman kernel: Unable to handle kernel NULL pointer
dereference at virtual address 00000000
Nov 25 17:06:41 codeman kernel: cbc6a8c4
Nov 25 17:06:41 codeman kernel: *pde = 081d9067
Nov 25 17:06:41 codeman kernel: Oops: 0002
Nov 25 17:06:41 codeman kernel: CPU: 0
Nov 25 17:06:41 codeman kernel: EIP: 0010:[<cbc6a8c4>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
Nov 25 17:06:41 codeman kernel: EFLAGS: 00013282
Nov 25 17:06:41 codeman kernel: eax: e51285e0 ebx: c5160980 ecx: 00000011
edx: 00000000
Nov 25 17:06:41 codeman kernel: esi: cc6adf14 edi: dffbdb80 ebp: c4997800
esp: cc6adee0
Nov 25 17:06:41 codeman kernel: ds: 0018 es: 0018 ss: 0018
Nov 25 17:06:41 codeman kernel: Process XFree86 (pid: 15852,
stackpage=cc6ad000)
Nov 25 17:06:41 codeman kernel: Stack: 00020000 00000000 b86d2ce8 cc6adf6c
c4997800 dffbdb80 cbc6aaad c4997800
Nov 25 17:06:41 codeman kernel: cc6adf14 cc6ac000 00000300 c4997800
c83f8d00 00000001 00000898 00000001
Nov 25 17:06:41 codeman kernel: 80000000 00000001 00100000 00002710
00000010 00000000 00000640 003ab100
Nov 25 17:06:41 codeman kernel: Call Trace: [<cbc6aaad>] [<cbc657ca>]
[<cbc6aa18>] [sys_ioctl+637/708] [system_call+51/56]
Nov 25 17:06:41 codeman kernel: Code: 89 02 8b 47 24 c7 80 40 01 00 00 00 00
00 00 8b 47 24 8b 90


>>EIP; cbc6a8c4 <[r128]r128_do_init_cce+744/7f8> <=====

>>ebx; c5160980 <[smbfs].data.end+248291/6d47971>
>>ebp; c4997800 <[eepro100].bss.end+6b269/c3ac9>

Trace; cbc6aaad <[r128]r128_cce_init+95/b8>
Trace; cbc657ca <[r128]r128_ioctl+102/110>
Trace; cbc6aa18 <[r128]r128_cce_init+0/b8>

Code; cbc6a8c4 <[r128]r128_do_init_cce+744/7f8>
00000000 <_EIP>:
Code; cbc6a8c4 <[r128]r128_do_init_cce+744/7f8> <=====
0: 89 02 mov %eax,(%edx) <=====
Code; cbc6a8c6 <[r128]r128_do_init_cce+746/7f8>
2: 8b 47 24 mov 0x24(%edi),%eax
Code; cbc6a8c9 <[r128]r128_do_init_cce+749/7f8>
5: c7 80 40 01 00 00 00 movl $0x0,0x140(%eax)
Code; cbc6a8d0 <[r128]r128_do_init_cce+750/7f8>
c: 00 00 00
Code; cbc6a8d3 <[r128]r128_do_init_cce+753/7f8>
f: 8b 47 24 mov 0x24(%edi),%eax
Code; cbc6a8d6 <[r128]r128_do_init_cce+756/7f8>
12: 8b 90 00 00 00 00 mov 0x0(%eax),%edx


ciao, Marc


2002-11-25 16:56:06

by Arjan van de Ven

[permalink] [raw]
Subject: Re: [BUG] 2.4.20-rc2-ac3 oops (causer is DRM 4.3.x code)

On Mon, 2002-11-25 at 17:12, Marc-Christian Petersen wrote:
> Hi Alan, Hi Arjan,
>

@ -622,16 +615,20 @@
if ( dev->dev_private ) {
drm_r128_private_t *dev_priv = dev->dev_private;

+#if __REALLY_HAVE_SG
if ( !dev_priv->is_pci ) {
+#endif
DRM_IOREMAPFREE( dev_priv->cce_ring );
DRM_IOREMAPFREE( dev_priv->ring_rptr );
DRM_IOREMAPFREE( dev_priv->buffers );
+#if __REALLY_HAVE_SG
} else {
if (!DRM(ati_pcigart_cleanup)( dev,
dev_priv->phys_pci_gart,
dev_priv->bus_pci_gart
))
DRM_ERROR( "failed to cleanup PCI
GART!\n" );
}
+#endif


is the only worthy change to drivers/char/drm/r128_cce.c that I can
think of that can cause this, could you try to just remove the #if's ?

2002-11-25 17:06:46

by Marc-Christian Petersen

[permalink] [raw]
Subject: Re: [BUG] 2.4.20-rc2-ac3 oops (causer is DRM 4.3.x code)

On Monday 25 November 2002 18:02, Arjan van de Ven wrote:

Hi Arjan,

> @ -622,16 +615,20 @@
> if ( dev->dev_private ) {
> drm_r128_private_t *dev_priv = dev->dev_private;
>
> +#if __REALLY_HAVE_SG
> if ( !dev_priv->is_pci ) {
> +#endif
> DRM_IOREMAPFREE( dev_priv->cce_ring );
> DRM_IOREMAPFREE( dev_priv->ring_rptr );
> DRM_IOREMAPFREE( dev_priv->buffers );
> +#if __REALLY_HAVE_SG
> } else {
> if (!DRM(ati_pcigart_cleanup)( dev,
> dev_priv->phys_pci_gart,
> dev_priv->bus_pci_gart
> ))
> DRM_ERROR( "failed to cleanup PCI
> GART!\n" );
> }
> +#endif
sorry for eventually stupidity, but? ... REALLY_HAVE_SG?

ciao, Marc


2002-11-25 20:20:53

by Marc-Christian Petersen

[permalink] [raw]
Subject: Re: [BUG] 2.4.20-rc2-ac3 oops (causer is DRM 4.3.x code)

On Monday 25 November 2002 21:14, Marc-Christian Petersen wrote:

Hi Arjan,

> Ok Arjan, I am trying this out right now. Hang on please.
ok, removed those #if's and #endif's:

Nov 25 21:23:17 codeman kernel: Unable to handle kernel NULL pointer
dereference at virtual address 00000000
Nov 25 21:23:17 codeman kernel: c654a8c4
Nov 25 21:23:17 codeman kernel: *pde = 065ef067
Nov 25 21:23:17 codeman kernel: Oops: 0002
Nov 25 21:23:17 codeman kernel: CPU: 0
Nov 25 21:23:17 codeman kernel: EIP: 0010:[<c654a8c4>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
Nov 25 21:23:17 codeman kernel: EFLAGS: 00013282
Nov 25 21:23:17 codeman kernel: eax: e51265e0 ebx: c2e6a900 ecx: 00000011
edx: 00000000
Nov 25 21:23:17 codeman kernel: esi: c70b3f14 edi: dffbd880 ebp: c28cf000
esp: c70b3ee0
Nov 25 21:23:17 codeman kernel: ds: 0018 es: 0018 ss: 0018
Nov 25 21:23:17 codeman kernel: Process XFree86 (pid: 27442,
stackpage=c70b3000)
Nov 25 21:23:17 codeman kernel: Stack: 00020000 00000000 b80f2628 c70b3f6c
c28cf000 dffbd880 c654aad7 c28cf000
Nov 25 21:23:17 codeman kernel: c70b3f14 c70b2000 00000300 c28cf000
c5a6a680 00000001 00000898 00000001
Nov 25 21:23:17 codeman kernel: 80000000 00000001 00100000 00002710
00000010 00000000 00000640 003ab100
Nov 25 21:23:17 codeman kernel: Call Trace: [<c654aad7>] [<c65457ca>]
[<c654aa40>] [sys_ioctl+637/708] [system_call+51/56]
Nov 25 21:23:17 codeman kernel: Code: 89 02 8b 47 24 c7 80 40 01 00 00 00 00
00 00 8b 47 24 8b 90


>>EIP; c654a8c4 <[r128]r128_do_init_cce+744/7f8> <=====

>>ebx; c5160980 <[smbfs].data.end+248291/6d47971>
>>ebp; c2e6a900 <[eepro100].bss.end+2ae349/5e3aa9>

Trace; c654aad7 <[r128]r128_cce_init+97/c0>
Trace; c65457ca <[r128]r128_ioctl+102/110>
Trace; c654aa40 <[r128]r128_cce_init+0/c0>

Code; c654a8c4 <[r128]r128_do_init_cce+744/7f8>
00000000 <_EIP>:
Code; c654a8c4 <[r128]r128_do_init_cce+744/7f8> <=====
0: 89 02 mov %eax,(%edx) <=====
Code; c654a8c6 <[r128]r128_do_init_cce+746/7f8>
2: 8b 47 24 mov 0x24(%edi),%eax
Code; c654a8c9 <[r128]r128_do_init_cce+749/7f8>
5: c7 80 40 01 00 00 00 movl $0x0,0x140(%eax)
Code; c654a8d0 <[r128]r128_do_init_cce+750/7f8>
c: 00 00 00
Code; c654a8d3 <[r128]r128_do_init_cce+753/7f8>
f: 8b 47 24 mov 0x24(%edi),%eax
Code; c654a8d6 <[r128]r128_do_init_cce+756/7f8>
12: 8b 90 00 00 00 00 mov 0x0(%eax),%edx


root@codeman:[/] # lspci -v|grep ATI
01:00.0 VGA compatible controller: ATI Technologies Inc Rage 128 RE/SG
(prog-if 00 [VGA])
Subsystem: ATI Technologies Inc Rage 128 AIW


ciao, Marc

2002-11-25 20:15:23

by Marc-Christian Petersen

[permalink] [raw]
Subject: Re: [BUG] 2.4.20-rc2-ac3 oops (causer is DRM 4.3.x code)

On Monday 25 November 2002 18:12, Marc-Christian Petersen wrote:

Hi Arjan,

> sorry for eventually stupidity, but? ... REALLY_HAVE_SG?
blablabla Marc, MAN am I blind.

> is the only worthy change to drivers/char/drm/r128_cce.c that I can
> think of that can cause this, could you try to just remove the #if's ?
somebody should tell me the functionality of a scroll-wheel to see those
messages at a bottom...

;-)

Ok Arjan, I am trying this out right now. Hang on please.

ciao, Marc