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>
index | next in thread | previous in thread | raw e-mail
> 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... Natehome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199710281807.LAA06518>
