All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Antonino A. Daplas" <adaplas@gmail.com>
To: caglar@pardus.org.tr
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Pavel Machek <pavel@ucw.cz>, lkml <linux-kernel@vger.kernel.org>,
	spock@gentoo.org
Subject: Re: [BUG] at drivers/char/vt.c:3332 do_blank_screen() on resume
Date: Thu, 22 Feb 2007 21:41:11 +0800	[thread overview]
Message-ID: <1172151671.4306.13.camel@daplas> (raw)
In-Reply-To: <200702221453.18153.caglar@pardus.org.tr>

On Thu, 2007-02-22 at 14:53 +0200, S.Çağlar Onur wrote:
> Hi;
> 
> 22 Şub 2007 Per tarihinde, Antonino A. Daplas şunları yazmıştı: 
> > On Thu, 2007-02-15 at 13:00 +0200, S.Çağlar Onur wrote:
> > > 15 Şub 2007 Per tarihinde, Andrew Morton şunları yazmıştı:
> > > > On Thu, 15 Feb 2007 11:40:32 +0100 Pavel Machek <pavel@ucw.cz> wrote:
> > > > > Contact fbcon people...
> > > >
> > > > There aren't any, basically.  Since Tony disappeared James has been
> > > > helping out but doesn't have a lot of time.  So we're pretty much on
> > > > our own with problems in this area.
> > >
> > > I already sent same mail to
> > > linux-fbdev-devel mailing lists at sf.net with hope :)
> > >
> > > Cheers
> >
> > Interesting... It does look like this was triggered by calling
> > do_blank_screen() without taking the console semaphore, but
> > console_callback() should have taken that.
> >
> > Second point is that vesafb does not have any blanking functionality,
> > thus it should not trigger fbcon_event_notify().  My guess is you are
> > using an out-of-tree vesafb?
> 
> As i wrote we are using vesafb-tng [http://dev.gentoo.org/~spock/projects/] 
> for a long time but this hits me only with 2.6.20 and only after 
> suspend2disk, so im adding Michał Januszewski to CC if this is vesafb-tng 
> related :).
> 

Ah, and you have fb_splash too.  That's why the tracing was not what I
expected it to be.

Try using video=vesafb:noblank to disable hardware blanking and find out
if you can still reproduce the oops.

> > BUG: at drivers/char/vt.c:3332 do_blank_screen()
> >  [<c02881f7>] do_blank_screen+0x4e/0x218
> >  [<c02977fa>] fbcon_event_notify+0x8f1/0xa1e
> >  [<c027b2b0>] extract_buf+0xac/0xe1
> >  [<c0102002>] __switch_to+0xeb/0x15d
> >  [<c034bbe5>] __sched_text_start+0x865/0x929
> >  [<c029a50d>] bit_cursor+0x4c8/0x50b
> >  [<c034bd67>] wait_for_completion+0x79/0xaf
> >  [<c011cbe2>] default_wake_function+0x0/0xc
> >  [<c034ece2>] notifier_call_chain+0x19/0x32
> >  [<c012d1c6>] blocking_notifier_call_chain+0x23/0x33
> >  [<c028db54>] fb_blank+0x4a/0x53
> >  [<c0299028>] fbcon_blank+0xf4/0x1e3
> >  [<c0294f33>] fbcon_cursor+0x21c/0x250
> >  [<c029a045>] bit_cursor+0x0/0x50b
> >  [<c0129e90>] lock_timer_base+0x15/0x2f
> >  [<c0129eee>] try_to_del_timer_sync+0x44/0x4a
> >  [<c0298f34>] fbcon_blank+0x0/0x1e3
> >  [<c028835a>] do_blank_screen+0x1b1/0x218
> >  [<c028abdd>] console_callback+0xaf/0xbf
> >  [<c012fa59>] run_workqueue+0x85/0x135
> >  [<c028ab2e>] console_callback+0x0/0xbf
> >  [<c01302f0>] worker_thread+0x10a/0x136
> >  [<c011cbe2>] default_wake_function+0x0/0xc
> >  [<c01301e6>] worker_thread+0x0/0x136
> >  [<c0132982>] kthread+0xb2/0xdc
> >  [<c01328d0>] kthread+0x0/0xdc
> >  [<c0103a8f>] kernel_thread_helper+0x7/0x10
> >
> > As for the last tracing, it looks to be valid bug to me.
> > complete_change_console() should be called with the console sem
> > taken. I'll look into this.
> 
> If testing needed just ask please :)

After grepping for change_console, all callers of change_console and
complete_change_console are acquiring the console semaphore, so I really
don't know what's going on here...

Since you are using a non-vanilla kernel, can you just do
a grep change_console of the kernel source and see if you can find a
caller that missed doing an acquire_console_sem().
 
> 
> > BUG: at drivers/char/vt.c:3486 set_palette()
> >  [<c0287538>] set_palette+0x41/0x59
> >  [<c028886f>] redraw_screen+0x110/0x17e
> >  [<c0282394>] complete_change_console+0x2a/0xba
> >  [<c028ab73>] console_callback+0x45/0xbf
> >  [<c012fa59>] run_workqueue+0x85/0x135
> >  [<c028ab2e>] console_callback+0x0/0xbf
> >  [<c01302f0>] worker_thread+0x10a/0x136
> >  [<c011cbe2>] default_wake_function+0x0/0xc
> >  [<c01301e6>] worker_thread+0x0/0x136
> >  [<c0132982>] kthread+0xb2/0xdc
> >  [<c01328d0>] kthread+0x0/0xdc
> >  [<c0103a8f>] kernel_thread_helper+0x7/0x10
> >
> > Tony
> 
> Cheers

Tony


  reply	other threads:[~2007-02-22 13:38 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-09  6:38 [BUG] at drivers/char/vt.c:3332 do_blank_screen() on resume S.Çağlar Onur
2007-02-15 10:40 ` Pavel Machek
2007-02-15 10:56   ` Andrew Morton
2007-02-15 11:00     ` S.Çağlar Onur
2007-02-21 23:43       ` Antonino A. Daplas
2007-02-22 12:53         ` S.Çağlar Onur
2007-02-22 13:41           ` Antonino A. Daplas [this message]
2007-02-22 13:52             ` S.Çağlar Onur
2007-02-28 12:10               ` S.Çağlar Onur
2007-02-15 10:58 S.Çağlar Onur

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=1172151671.4306.13.camel@daplas \
    --to=adaplas@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=caglar@pardus.org.tr \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pavel@ucw.cz \
    --cc=spock@gentoo.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.