* Re: Fwd: [Bug 164337] New: radeonfb oopses
[not found] ` <1122538735.18835.19.camel@gaston>
@ 2005-07-28 23:08 ` Dave Jones
2005-07-29 11:45 ` Jon Smirl
0 siblings, 1 reply; 3+ messages in thread
From: Dave Jones @ 2005-07-28 23:08 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linux-fbdev-devel, notting
On Thu, Jul 28, 2005 at 09:18:54AM +0100, Ben Herrenschmidt wrote:
> On Wed, 2005-07-27 at 15:34 -0400, Dave Jones wrote:
> > This was on a git snapshot from a day or two ago.
>
> I'll have a look when I'm done travelling ... maybe this week-end or
> monday. Can you CC the linux-fbdev list in the meantime ? I wonder if
> it's related to some cmap handling changes I've seen floating around...
>
> Thanks,
> Ben.
BenH asked me to forward this here.
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=164337
git snapshot from a few days ago yields this oops..
radeonfb: Retreived PLL infos from BIOS
radeonfb: Reference=27.00 MHz (RefDiv=12) Memory=252.00 Mhz, System=200.00 MHz
radeonfb: PLL min 20000 max 35000
Non-DDC laptop panel detected
radeonfb: Monitor 1 type LCD found
radeonfb: Monitor 2 type no found
radeonfb: panel ID string: SXGA+ Single (85MHz)
radeonfb: detected LVDS panel size from BIOS: 1400x1050
radeondb: BIOS provided dividers will be used
radeonfb: Dynamic Clock Power Management enabled
radeonfb: forcefully enabling sleep mode
Unable to handle kernel paging request at virtual address fffffff6
printing eip:
c02311f1
*pde = 00002067
Oops: 0000 [#1]
Modules linked in: radeonfb i2c_algo_bit nfs lockd nfs_acl tun arc4
ieee80211_crypt_wep radeon drm loop parport_pc lp parport ipv6 autofs4 sunrpc
ipt_REJECT ipt_state ip_conntrack iptable_filter ip_tables dm_mod video button
battery ac pcmcia yenta_socket rsrc_nonstatic pcmcia_core uhci_hcd ehci_hcd
shpchp hw_random i8xx_tco i2c_i801 i2c_core snd_intel8x0m snd_intel8x0
snd_ac97_codec snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq
snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore
snd_page_alloc e1000 ipw2200 ieee80211 ieee80211_crypt ext3 jbd
CPU: 0
EIP: 0060:[<c02311f1>] Not tainted VLI
EFLAGS: 00010246 (2.6.12-1.1435_FC5)
EIP is at fb_set_logocmap+0x79/0xee
eax: 00000020 ebx: fffffff6 ecx: 00000000 edx: 00000010
esi: 00000000 edi: 00000010 ebp: 00000000 esp: ef26bc2c
ds: 007b es: 007b ss: 0068
Process modprobe (pid: 25357, threadinfo=ef26b000 task=f1b0b000)
Stack: c045f154 eb944000 00000008 00000282 00000002 00000004 d67c2208 eb944000
00000007 00000000 00000000 f90d8000 00000010 00000001 c015cca3 d67c21f4
de3bcb10 00ffffff 00ffff00 00000000 00000010 c04a4c60 c04a4c40 f8c03a85
Call Trace:
[<c015cca3>] poison_obj+0x20/0x3d
[<f8c03a85>] radeonfb_setcmap+0xc7/0x4b9 [radeonfb]
[<c023180d>] fb_show_logo+0x1af/0x1f5
[<c02306ce>] bit_clear_margins+0xa2/0xdb
[<c022eaa5>] fbcon_switch+0x474/0x4c4
[<c026f110>] redraw_screen+0xab/0x1ba
[<c026e8df>] update_attr+0x8c/0x9d
[<c02720eb>] take_over_console+0x26f/0x35a
[<c015eac7>] cache_alloc_refill+0xc8/0x389
[<c01d5113>] sysfs_make_dirent+0x13/0x81
[<c015cca3>] poison_obj+0x20/0x3d
[<c022b4db>] fbcon_takeover+0x69/0xa0
[<c0135799>] notifier_call_chain+0x17/0x27
[<c0232553>] register_framebuffer+0xd3/0x181
[<c012df54>] process_timeout+0x0/0x5
[<c012e334>] msleep+0x30/0x38
[<f8c0c9d4>] radeon_pm_enable_dynamic_mode+0x1ce6/0x28c9 [radeonfb]
[<c01227a5>] printk+0x1b/0x1f
[<f8c07f6b>] radeonfb_pci_register+0x2e7/0x54b [radeonfb]
[<c0216af0>] kobject_hotplug+0x2a4/0x39e
[<c0223494>] __pci_device_probe+0x30/0x3d
[<c02234bf>] pci_device_probe+0x1e/0x35
[<c0291a3d>] driver_probe_device+0x35/0x9e
[<c0291b58>] __driver_attach+0x45/0x47
[<c02912f5>] bus_for_each_dev+0x3c/0x5a
[<c0291b70>] driver_attach+0x16/0x1a
[<c0291b13>] __driver_attach+0x0/0x47
[<c02916be>] bus_add_driver+0x66/0xaf
[<c02236a4>] pci_register_driver+0x97/0xb7
[<c01486c4>] sys_init_module+0xca/0x1c4
[<c0103b15>] syscall_call+0x7/0xb
Code: 31 d2 89 c7 29 d7 89 fa 83 ff 10 7e 0a bf 10 00 00 00 ba 10 00 00 00 8d 45
20 89 44 24 68 89 54 24 6c 85 ff 7e 53 31 f6 8d 0c 36 <0f> b6 03 89 c2 c1 e2 08
66 0f b6 c0 09 c2 8b 44 24 70 66 89 14
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO September
19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Re: Fwd: [Bug 164337] New: radeonfb oopses
2005-07-28 23:08 ` Fwd: [Bug 164337] New: radeonfb oopses Dave Jones
@ 2005-07-29 11:45 ` Jon Smirl
2005-07-29 14:55 ` Antonino A. Daplas
0 siblings, 1 reply; 3+ messages in thread
From: Jon Smirl @ 2005-07-29 11:45 UTC (permalink / raw)
To: linux-fbdev-devel, Michal Januszewski; +Cc: Benjamin Herrenschmidt, notting
I would suspect: [Linux-fbdev-devel] [patch 158/160] fbdev: update
info->cmap when setting cmap from user-/kernelspace.
The stack trace does not show the sysfs cmap attibute in use.
On 7/28/05, Dave Jones <davej@redhat.com> wrote:
> On Thu, Jul 28, 2005 at 09:18:54AM +0100, Ben Herrenschmidt wrote:
> > On Wed, 2005-07-27 at 15:34 -0400, Dave Jones wrote:
> > > This was on a git snapshot from a day or two ago.
> >
> > I'll have a look when I'm done travelling ... maybe this week-end or
> > monday. Can you CC the linux-fbdev list in the meantime ? I wonder if
> > it's related to some cmap handling changes I've seen floating around...
> >
> > Thanks,
> > Ben.
>
> BenH asked me to forward this here.
>
> https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=164337
>
> git snapshot from a few days ago yields this oops..
>
> radeonfb: Retreived PLL infos from BIOS
> radeonfb: Reference=27.00 MHz (RefDiv=12) Memory=252.00 Mhz, System=200.00 MHz
> radeonfb: PLL min 20000 max 35000
> Non-DDC laptop panel detected
> radeonfb: Monitor 1 type LCD found
> radeonfb: Monitor 2 type no found
> radeonfb: panel ID string: SXGA+ Single (85MHz)
> radeonfb: detected LVDS panel size from BIOS: 1400x1050
> radeondb: BIOS provided dividers will be used
> radeonfb: Dynamic Clock Power Management enabled
> radeonfb: forcefully enabling sleep mode
> Unable to handle kernel paging request at virtual address fffffff6
> printing eip:
> c02311f1
> *pde = 00002067
> Oops: 0000 [#1]
> Modules linked in: radeonfb i2c_algo_bit nfs lockd nfs_acl tun arc4
> ieee80211_crypt_wep radeon drm loop parport_pc lp parport ipv6 autofs4 sunrpc
> ipt_REJECT ipt_state ip_conntrack iptable_filter ip_tables dm_mod video button
> battery ac pcmcia yenta_socket rsrc_nonstatic pcmcia_core uhci_hcd ehci_hcd
> shpchp hw_random i8xx_tco i2c_i801 i2c_core snd_intel8x0m snd_intel8x0
> snd_ac97_codec snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq
> snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore
> snd_page_alloc e1000 ipw2200 ieee80211 ieee80211_crypt ext3 jbd
> CPU: 0
> EIP: 0060:[<c02311f1>] Not tainted VLI
> EFLAGS: 00010246 (2.6.12-1.1435_FC5)
> EIP is at fb_set_logocmap+0x79/0xee
> eax: 00000020 ebx: fffffff6 ecx: 00000000 edx: 00000010
> esi: 00000000 edi: 00000010 ebp: 00000000 esp: ef26bc2c
> ds: 007b es: 007b ss: 0068
> Process modprobe (pid: 25357, threadinfo=ef26b000 task=f1b0b000)
> Stack: c045f154 eb944000 00000008 00000282 00000002 00000004 d67c2208 eb944000
> 00000007 00000000 00000000 f90d8000 00000010 00000001 c015cca3 d67c21f4
> de3bcb10 00ffffff 00ffff00 00000000 00000010 c04a4c60 c04a4c40 f8c03a85
> Call Trace:
> [<c015cca3>] poison_obj+0x20/0x3d
> [<f8c03a85>] radeonfb_setcmap+0xc7/0x4b9 [radeonfb]
> [<c023180d>] fb_show_logo+0x1af/0x1f5
> [<c02306ce>] bit_clear_margins+0xa2/0xdb
> [<c022eaa5>] fbcon_switch+0x474/0x4c4
> [<c026f110>] redraw_screen+0xab/0x1ba
> [<c026e8df>] update_attr+0x8c/0x9d
> [<c02720eb>] take_over_console+0x26f/0x35a
> [<c015eac7>] cache_alloc_refill+0xc8/0x389
> [<c01d5113>] sysfs_make_dirent+0x13/0x81
> [<c015cca3>] poison_obj+0x20/0x3d
> [<c022b4db>] fbcon_takeover+0x69/0xa0
> [<c0135799>] notifier_call_chain+0x17/0x27
> [<c0232553>] register_framebuffer+0xd3/0x181
> [<c012df54>] process_timeout+0x0/0x5
> [<c012e334>] msleep+0x30/0x38
> [<f8c0c9d4>] radeon_pm_enable_dynamic_mode+0x1ce6/0x28c9 [radeonfb]
> [<c01227a5>] printk+0x1b/0x1f
> [<f8c07f6b>] radeonfb_pci_register+0x2e7/0x54b [radeonfb]
> [<c0216af0>] kobject_hotplug+0x2a4/0x39e
> [<c0223494>] __pci_device_probe+0x30/0x3d
> [<c02234bf>] pci_device_probe+0x1e/0x35
> [<c0291a3d>] driver_probe_device+0x35/0x9e
> [<c0291b58>] __driver_attach+0x45/0x47
> [<c02912f5>] bus_for_each_dev+0x3c/0x5a
> [<c0291b70>] driver_attach+0x16/0x1a
> [<c0291b13>] __driver_attach+0x0/0x47
> [<c02916be>] bus_add_driver+0x66/0xaf
> [<c02236a4>] pci_register_driver+0x97/0xb7
> [<c01486c4>] sys_init_module+0xca/0x1c4
> [<c0103b15>] syscall_call+0x7/0xb
> Code: 31 d2 89 c7 29 d7 89 fa 83 ff 10 7e 0a bf 10 00 00 00 ba 10 00 00 00 8d 45
> 20 89 44 24 68 89 54 24 6c 85 ff 7e 53 31 f6 8d 0c 36 <0f> b6 03 89 c2 c1 e2 08
> 66 0f b6 c0 09 c2 8b 44 24 70 66 89 14
>
>
>
>
> -------------------------------------------------------
> SF.Net email is Sponsored by the Better Software Conference & EXPO September
> 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
> Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
> Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
> _______________________________________________
> Linux-fbdev-devel mailing list
> Linux-fbdev-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel
>
--
Jon Smirl
jonsmirl@gmail.com
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO September
19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Re: Fwd: [Bug 164337] New: radeonfb oopses
2005-07-29 11:45 ` Jon Smirl
@ 2005-07-29 14:55 ` Antonino A. Daplas
0 siblings, 0 replies; 3+ messages in thread
From: Antonino A. Daplas @ 2005-07-29 14:55 UTC (permalink / raw)
To: linux-fbdev-devel; +Cc: Michal Januszewski, Benjamin Herrenschmidt, notting
Jon Smirl wrote:
> I would suspect: [Linux-fbdev-devel] [patch 158/160] fbdev: update
> info->cmap when setting cmap from user-/kernelspace.
>
It's possible that this bug is the result of this patch. But I also
suspect some weirdness in the logo code. The tracing points to a
pointer loaded in register ebx and disassembling the function shows that
the logo clut address is loaded in this register. Can you try to set
CONFIG_LOGO to n?
If the above still doesn't work, reverse the patch below.
> The stack trace does not show the sysfs cmap attibute in use.
I don't think it's fbsysfs.
Tony
diff -puN drivers/video/fbcmap.c~fbdev-update-info-cmap-when-setting-cmap-from-user-kernelspace drivers/video/fbcmap.c
--- devel/drivers/video/fbcmap.c~fbdev-update-info-cmap-when-setting-cmap-from-user-kernelspace 2005-07-27 11:10:12.000000000 -0700
+++ devel-akpm/drivers/video/fbcmap.c 2005-07-27 11:10:12.000000000 -0700
@@ -212,7 +212,7 @@ int fb_cmap_to_user(struct fb_cmap *from
int fb_set_cmap(struct fb_cmap *cmap, struct fb_info *info)
{
- int i, start;
+ int i, start, rc = 0;
u16 *red, *green, *blue, *transp;
u_int hred, hgreen, hblue, htransp = 0xffff;
@@ -225,75 +225,51 @@ int fb_set_cmap(struct fb_cmap *cmap, st
if (start < 0 || (!info->fbops->fb_setcolreg &&
!info->fbops->fb_setcmap))
return -EINVAL;
- if (info->fbops->fb_setcmap)
- return info->fbops->fb_setcmap(cmap, info);
- for (i = 0; i < cmap->len; i++) {
- hred = *red++;
- hgreen = *green++;
- hblue = *blue++;
- if (transp)
- htransp = *transp++;
- if (info->fbops->fb_setcolreg(start++,
- hred, hgreen, hblue, htransp,
- info))
- break;
+ if (info->fbops->fb_setcmap) {
+ rc = info->fbops->fb_setcmap(cmap, info);
+ } else {
+ for (i = 0; i < cmap->len; i++) {
+ hred = *red++;
+ hgreen = *green++;
+ hblue = *blue++;
+ if (transp)
+ htransp = *transp++;
+ if (info->fbops->fb_setcolreg(start++,
+ hred, hgreen, hblue,
+ htransp, info))
+ break;
+ }
}
- return 0;
+ if (rc == 0)
+ fb_copy_cmap(cmap, &info->cmap);
+
+ return rc;
}
int fb_set_user_cmap(struct fb_cmap_user *cmap, struct fb_info *info)
{
- int i, start;
- u16 __user *red, *green, *blue, *transp;
- u_int hred, hgreen, hblue, htransp = 0xffff;
-
- red = cmap->red;
- green = cmap->green;
- blue = cmap->blue;
- transp = cmap->transp;
- start = cmap->start;
+ int rc, size = cmap->len * sizeof(u16);
+ struct fb_cmap umap;
- if (start < 0 || (!info->fbops->fb_setcolreg &&
- !info->fbops->fb_setcmap))
+ if (cmap->start < 0 || (!info->fbops->fb_setcolreg &&
+ !info->fbops->fb_setcmap))
return -EINVAL;
- /* If we can batch, do it */
- if (info->fbops->fb_setcmap && cmap->len > 1) {
- struct fb_cmap umap;
- int size = cmap->len * sizeof(u16);
- int rc;
-
- memset(&umap, 0, sizeof(struct fb_cmap));
- rc = fb_alloc_cmap(&umap, cmap->len, transp != NULL);
- if (rc)
- return rc;
- if (copy_from_user(umap.red, red, size) ||
- copy_from_user(umap.green, green, size) ||
- copy_from_user(umap.blue, blue, size) ||
- (transp && copy_from_user(umap.transp, transp, size))) {
- rc = -EFAULT;
- }
- umap.start = start;
- if (rc == 0)
- rc = info->fbops->fb_setcmap(&umap, info);
- fb_dealloc_cmap(&umap);
+ memset(&umap, 0, sizeof(struct fb_cmap));
+ rc = fb_alloc_cmap(&umap, cmap->len, cmap->transp != NULL);
+ if (rc)
return rc;
+ if (copy_from_user(umap.red, cmap->red, size) ||
+ copy_from_user(umap.green, cmap->green, size) ||
+ copy_from_user(umap.blue, cmap->blue, size) ||
+ (cmap->transp && copy_from_user(umap.transp, cmap->transp, size))) {
+ fb_dealloc_cmap(&umap);
+ return -EFAULT;
}
-
- for (i = 0; i < cmap->len; i++, red++, blue++, green++) {
- if (get_user(hred, red) ||
- get_user(hgreen, green) ||
- get_user(hblue, blue) ||
- (transp && get_user(htransp, transp)))
- return -EFAULT;
- if (info->fbops->fb_setcolreg(start++,
- hred, hgreen, hblue, htransp,
- info))
- return 0;
- if (transp)
- transp++;
- }
- return 0;
+ umap.start = cmap->start;
+ rc = fb_set_cmap(&umap, info);
+ fb_dealloc_cmap(&umap);
+ return rc;
}
/**
_
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO September
19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-07-29 14:56 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20050727193425.GB2388@redhat.com>
[not found] ` <1122538735.18835.19.camel@gaston>
2005-07-28 23:08 ` Fwd: [Bug 164337] New: radeonfb oopses Dave Jones
2005-07-29 11:45 ` Jon Smirl
2005-07-29 14:55 ` Antonino A. Daplas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).