cvs commit: src/sys/dev/ath if_ath.c if_athvar.h
Sam Leffler
sam at FreeBSD.org
Thu May 29 00:10:49 UTC 2008
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
More information about the cvs-src
mailing list