* 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).