Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Oct 1997 11:07:21 -0700 (MST)
From:      Nate Williams <nate@mt.sri.com>
To:        Nate Williams <nate@freebsd.org>
Cc:        mobile@freebsd.org
Subject:   Announce: Working suspend/resume (was Re: cvs commit: src/usr.sbin/pccard/pccardd cardd.c)
Message-ID:  <199710281807.LAA06518@rocky.mt.sri.com>
In-Reply-To: <199710281751.JAA20266@freefall.freebsd.org>
References:  <199710281751.JAA20266@freefall.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
>   Modified files:
>     usr.sbin/pccard/pccardd cardd.c 
>   Log:
>   - Disable cards when doing a suspend by emulating that they have been
>     removed.  Add a new state 'suspend' so we 'fake' insertion events at
>     resume time for the cards that have been suspended.
>   
>   [
>   The code still works if you remove the card during suspend, switch the
>   card during suspend, or combinations of both.
>   ]
>
>   Reviewed by:	frf@xocolatl.com

Thanks to Robert for sending me a bug report, things are much better.
It turns out there was a *HUGE* race condition in the code after I
killed the 'suspend' function.  How it ever worked I'll never know, but
the new code is both better and more robust, and what I had initially
intended to do a couple of years ago.

I'd be suprised if suspend/resume didn't work for *all* laptops
now, although it may require some setup of the PCIC controller for some
machines.  If it doesn't work out of the box, try setting
"machdep.pccard.pcic_resume_reset" to 1.

root # sysctl -w machdep.pccard.pcic_resume_reset=1

You *MUST* rebuild pccardc/pccardd before you boot into the new kernel.
If you don't normal card insertion/removal events won't get recognized
by the card daemon (the above change is necessary), but once you've
rebuilt and re-installed it everything should work great.

*Please* test this code.  I think it should work, and if it proves to be
good I'd like to bring it into 2.2 after a shakeout period.  In any
case, it's much more robust than the old code in the face of cards
getting switched, etc...



Nate



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