Weaselweb n00b

Joined: 17 Oct 2004 Posts: 74 Location: Chemnitz, Germany
|
Posted: Wed Apr 23, 2008 12:01 pm Post subject: uvesafb: invalid opcode: 0000 [#1] |
|
|
Hello,
after loading the uvesafb module on my laptop, i get a blank screen and i can't switch VTs. But i can still use ssh, so i can still list dmesg.
So, after loading uvesafb using the command: modprobe uvesafb mode=1280x800-8 mtrr=3 scroll=ywrap I get the following lines in dmesg:
Code: | uvesafb: NVIDIA Corporation, NV34 Board - tosh34sf, Chip Rev , OEM: NVIDIA, VBE v3.0
uvesafb: protected mode interface info at c000:d0e0
uvesafb: pmi: set display start = c00d5902, set palette = c00d5902
uvesafb: pmi: ports =
uvesafb: VBIOS/hardware doesn't support DDC transfers
uvesafb: no monitor limits have been set, default refresh rate will be used
uvesafb: scrolling: ywrap using protected mode interface, yres_virtual=4915
invalid opcode: 0000 [#1]
Modules linked in: uvesafb(+) cfbcopyarea cfbimgblt cfbfillrect aufs loop squashfs zlib_inflate snd_pcm_oss snd_mixer_oss snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device ipv6 michael_mic arc4 ecb crypto_blkcipher af_packet ntfs ieee80211_crypt_tkip sd_mod usb_storage tun cpufreq_ondemand cpufreq_powersave acpi_cpufreq freq_table toshiba_acpi toshiba snd_intel8x0 snd_ac97_codec joydev ac97_bus snd_pcm snd_timer snd ipw2200 uhci_hcd soundcore e100 snd_page_alloc ieee80211 ieee80211_crypt ehci_hcd usbcore parport_pc parport fan psmouse firmware_class battery ac video output button thermal processor unix
Pid: 7228, comm: modprobe Not tainted (2.6.25-gentoo #3)
EIP: 0060:[<c00d5902>] EFLAGS: 00010246 CPU: 0
EIP is at 0xc00d5902
EAX: 00004f07 EBX: 00000000 ECX: 00000000 EDX: 00000000
ESI: e0af82e0 EDI: df3296a4 EBP: df329000 ESP: ddf2d8e4
DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068
Process modprobe (pid: 7228, ti=ddf2c000 task=dde16000 task.ti=ddf2c000)
Stack: e0af8322 00000000 ddf3641c c0203e69 00000001 00000010 00000320 00000000
df329000 ddf36400 ddf36400 00000320 c021293a c1404100 df329000 c0211a56
ddf2d95c 00000001 df329008 00000003 df329000 ddf36400 c03e54e0 00000002
Call Trace:
[<e0af8322>] uvesafb_pan_display+0x42/0x50 [uvesafb]
[<c0203e69>] fb_pan_display+0xd9/0x140
[<c021293a>] bit_update_start+0x1a/0x40
[<c0211a56>] fbcon_switch+0x706/0x740
[<c01ff123>] redraw_screen+0xf3/0x1b0
[<c020f0f4>] fbcon_prepare_logo+0x374/0x390
[<c020f362>] fbcon_init+0x252/0x490
[<c01fd7ac>] visual_init+0x8c/0xd0
[<c020126d>] take_over_console+0x10d/0x320
[<c012e2ed>] ktime_get_ts+0x1d/0x50
[<c020d74c>] fbcon_takeover+0x6c/0xb0
[<c020ffec>] fbcon_event_notify+0x6cc/0x700
[<c0146b89>] __alloc_pages+0x59/0x380
[<c01456be>] __rmqueue+0x1e/0x1d0
[<c012ecac>] notifier_call_chain+0x3c/0x80
[<c012ef9a>] __blocking_notifier_call_chain+0x4a/0x70
[<c012efd7>] blocking_notifier_call_chain+0x17/0x20
[<c02056a8>] register_framebuffer+0xf8/0x1c0
[<e0afa117>] uvesafb_probe+0x807/0x1100 [uvesafb]
[<c01d4f13>] __generic_unplug_device+0x23/0x30
[<c023af4c>] platform_drv_probe+0xc/0x10
[<c0239647>] driver_probe_device+0x87/0x170
[<c02d4fde>] klist_next+0x4e/0xa0
[<c0239730>] __device_attach+0x0/0x10
[<c0238866>] bus_for_each_drv+0x46/0x70
[<c02397ee>] device_attach+0x7e/0x90
[<c0239730>] __device_attach+0x0/0x10
[<c02387dd>] bus_attach_device+0x4d/0x90
[<c0237443>] device_add+0x383/0x4f0
[<c023b317>] platform_device_add+0x107/0x170
[<e0afaa5d>] uvesafb_init+0x4d/0xa0 [uvesafb]
[<c0138500>] sys_init_module+0x140/0x16e0
[<c011f530>] __request_region+0x0/0x70
[<c0162391>] sys_read+0x41/0x70
[<c0103e2e>] sysenter_past_esp+0x5f/0x85
=======================
Code: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff <ff> ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
EIP: [<c00d5902>] 0xc00d5902 SS:ESP 0068:ddf2d8e4
---[ end trace 3ec7bfe7dbf025f8 ]--- |
A disassembly of the function uvesafb_pan_display shows this code:
Code: | 000002e0 <uvesafb_pan_display>:
2e0: 83 ec 08 sub $0x8,%esp
2e3: 89 1c 24 mov %ebx,(%esp)
2e6: 89 7c 24 04 mov %edi,0x4(%esp)
2ea: 8b ba 8c 02 00 00 mov 0x28c(%edx),%edi
2f0: 8b 48 14 mov 0x14(%eax),%ecx
2f3: 8b 92 d4 00 00 00 mov 0xd4(%edx),%edx
2f9: 8b 40 10 mov 0x10(%eax),%eax
2fc: 8b 9f 10 04 00 00 mov 0x410(%edi),%ebx
302: 85 db test %ebx,%ebx
304: 74 1c je 322 <uvesafb_pan_display+0x42>
306: 0f af ca imul %edx,%ecx
309: 31 db xor %ebx,%ebx
30b: 81 c7 10 04 00 00 add $0x410,%edi
311: 01 c1 add %eax,%ecx
313: b8 07 4f 00 00 mov $0x4f07,%eax
318: c1 e9 02 shr $0x2,%ecx
31b: 89 ca mov %ecx,%edx
31d: c1 fa 10 sar $0x10,%edx
320: ff 17 call *(%edi)
322: 8b 1c 24 mov (%esp),%ebx
325: 31 c0 xor %eax,%eax
327: 8b 7c 24 04 mov 0x4(%esp),%edi
32b: 83 c4 08 add $0x8,%esp
32e: c3 ret
32f: 90 nop |
It seems, that the call on address 320 is the culprit.
I didn't try a vanilla kernel (yet) as I don't expect any differences.
Any a idea how to fix or trackdown the problem? Thanks anyway.
Regards |
|