Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Apr 2001 18:35:11 +0200
From:      "Georg-W. Koltermann" <gwk@sgi.com>
To:        current@freebsd.org
Cc:        Bruce Evans <bde@zeta.org.au>, Dag-Erling Smorgrav <des@ofug.org>
Subject:   Re: lockup after resume
Message-ID:  <20010426183509.A10195@hunter.munich.sgi.com>
In-Reply-To: <Pine.BSF.4.21.0103291912280.32700-100000@besplex.bde.org>; from bde@zeta.org.au on Thu, Mar 29, 2001 at 07:19:20PM %2B1000
References:  <20010328212426.A32322@hunter.munich.sgi.com> <Pine.BSF.4.21.0103291912280.32700-100000@besplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Mar 29, 2001 at 07:19:20PM +1000, Bruce Evans wrote:
> On Wed, 28 Mar 2001, Georg-W. Koltermann wrote:
> 
> > I am experiencing a strange lockup with -current as of about a week
> > ago: It will suspend and resume, but after the resume the console is
> > dead and the system hangs after a short while.
> > 
> > When I type on the console after a resume, nothing is shown, neither
> > echo nor command output.  If I break into DDB, the output suddenly
> > appears, just above the DDB prompt.  I can continue to UNIX, type
> > another command, again nothing visible.  Breaking into DDB again shows
> > what I typed, and the output.  After a few round-trips of this sort
> > the system locks up solidly.
> > 
> > If I'm in X (XFree86-4.0.2) after the resume, the system will respond
> > for a few seconds and then lock up.
> > 
> > All this happens with the GENERIC kernel as well as my cardbus kernel.
> > 
> > Should I assume the console needs resetting after the resume?  How
> > could I try a reset?  I can't find anything obvious in vidcontrol(1)
> > or kbdcontrol(1).
> 
> Assume that the i8254 needs reinitializing.  The console driver just uses
> timeouts for screen updates.  Timeouts depend on the i8254 generating
> interrupts.  When you break into ddb, the screen gets updated directly.

I did some more debugging last night.  I confirmed by a printf() that
i8254_restore() actually *IS* being called during the resume.  That
routine is now in pmtimer.c, it used to be in apm.c in 4.2-R (and with
4.2 resume works fine on my laptop).

I added an additional call to i8254_restore() to the end of
apm_resume(), and I also called it directly from DDB--no effect.

There must be some other problem, I guess.

I figure there are a couple of laptop owners running current.  Is
suspend/resume working for all of you other guys, besides me and
Dag-Erling?

-- 
Regards,
Georg.
----------------------------------------------------------------------
Who in the world needs 2000 Windows?

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010426183509.A10195>