Date: Thu, 29 May 2008 00:10:48 +0000 (UTC) From: Sam Leffler <sam@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/ath if_ath.c if_athvar.h Message-ID: <200805290010.m4T0Anua051098@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
sam 2008-05-29 00:10:48 UTC
FreeBSD src repository
Modified files:
sys/dev/ath if_ath.c if_athvar.h
Log:
Cleanup power handling and fix suspend/resume:
o do not put the chip into full sleep in ath_stop as it gains
nothing and causes many parts to hang in ath_detach because we
may touch the chip during vap teardown; this may also fix issues
with unloading the module
o add a note in ath_detach to explain ath_hal_detach puts the
chip in low power mode; this is useful to know as it means
unloading the module will place a pci device in the lowest
possible power state
o leave an #ifdef notyet marker for powering down the chip when
a device is marked down; we can't do that until we handle all
the ways the driver may be entered and touch the chip
o fix resume by reloading the h/w key cache as it's been clobbered
(for pci) by the socket being powered off; for station mode we
directly stop+init the chip and then simulate a beacon miss to
get the upper layers sync'd up; for other configs we must brute
force stop+start the vaps so they go through the state machine
Revision Changes Path
1.189 +61 -24 src/sys/dev/ath/if_ath.c
1.65 +2 -1 src/sys/dev/ath/if_athvar.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200805290010.m4T0Anua051098>
