linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Antonino A. Daplas" <adaplas@hotpop.com>
To: Jakub Bogusz <qboosh@pld-linux.org>,
	linux-kernel@vger.kernel.org,
	linux-fbdev-devel@lists.sourceforge.net
Cc: pld-kernel@pld-linux.org
Subject: Re: 2.6.7 fbcon: set_con2fb on current console = crash
Date: Sat, 19 Jun 2004 14:13:44 +0800	[thread overview]
Message-ID: <200406191413.44439.adaplas@hotpop.com> (raw)
In-Reply-To: <20040618215047.GA4723@satan.blackhosts>

On Saturday 19 June 2004 05:50, Jakub Bogusz wrote:
> After upgrade from 2.6.4 to 2.6.7 I noticed that calling set_con2fb
> (through FBIOPUT_CON2FBMAP ioctl) on current console (already attached
> to fb using this ioctl) causes crash (oops and then recursive oops when
> trying to printk on console) and makes console unusable.
>
> That's because take_over_console() calls fbcon_deinit(vc_num)
> (which calls fbcon_free_font() on that console display) and then
> fbcon_init(vc_num, ...), which copies font data from current fb console.
> If current console was just deinit()ed, its fontdata is NULL - and this
> pointer is "copied" to the same place, leaving current console with
> fontdata==NULL (which leads to oops on nearest putc/putcs).
>
> Attached patch restores 2.6.4 behaviour on set_con2fb (to set font if
> it's not set already) - but it's not perfect solution as user font is
> still lost (unline on 2.4.x kernels).
> Any idea how to preserve user font on set_con2fb() called on current
> console?

Thanks.  Actually there's still a critical flaw in the set_con2fbmap code.  
For one, con2fb_map is never initialized.  It's just fortunate that this 
array happens to be  filled with zeroes so con2fb_map[n] will always return 
zero and registered_fb[0] happens to contain a valid info.  So it works, by 
accident. 

Secondly, if you load fbdev1, load fbdev2, unload fbdev1, load fbcon, the 
console will freeze. This is because fbdev1, which is originally in 
registered_fb[0], is now unloaded, and fbdev2, which is in registered_fb[1] 
is still loaded.  However, fbcon looks at registered_fb[0] during init.

Also, I really don't like the take_over_console part in set_con2fbmap.  Too 
many unknowns. 

There are still lot more problems which I won't mention. I'll try to fix some 
of them over this weekend.

Tony




-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND

  reply	other threads:[~2004-06-19  6:16 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-18 21:50 2.6.7 fbcon: set_con2fb on current console = crash Jakub Bogusz
2004-06-19  6:13 ` Antonino A. Daplas [this message]
2004-06-19  9:28   ` Geert Uytterhoeven
2004-06-19 10:03     ` Antonino A. Daplas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200406191413.44439.adaplas@hotpop.com \
    --to=adaplas@hotpop.com \
    --cc=adaplas@pol.net \
    --cc=linux-fbdev-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pld-kernel@pld-linux.org \
    --cc=qboosh@pld-linux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).