Re: [BUG] at drivers/char/vt.c:3332 do_blank_screen() on resume

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <[email protected]> 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

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux