diff options
author | gallatin <gallatin@FreeBSD.org> | 2008-07-17 15:46:35 +0000 |
---|---|---|
committer | gallatin <gallatin@FreeBSD.org> | 2008-07-17 15:46:35 +0000 |
commit | 57b9f1fb864a686e2691533a5e946d0e52380798 (patch) | |
tree | bc0473177cbea69c5d364d971073f830b90ba776 /gnu | |
parent | 26c7a0cd2bbc8e5f2e7bd917abd64ffdd37cc82d (diff) | |
download | FreeBSD-src-57b9f1fb864a686e2691533a5e946d0e52380798.zip FreeBSD-src-57b9f1fb864a686e2691533a5e946d0e52380798.tar.gz |
Clean up mxge's use of callouts as pointed out by jhb,
and handle NIC hardware watchdog resets.
- remove buggy code at the top of mxge_tick() which tried
to detect a race which is already detected in the kernel's
callout code.
- move callout_stop() and callout_reset() into mxge_close()
mxge_open() rather than doing the callout manipulation
all over the place.
- use callout_drain(), rather than callout_stop() to prevent
a potential race between mxge_tick() and mxge_detach()
which could lead to softclock using a destroyed mutex
- restructure the mxge_tick() and mxge_watchdog_reset()
routines to avoid resetting a callout, and then
immediately stopping it if the watchdog reset routine
is called, and fails.
- enable the driver to handle NIC hardware watchdog
resets by restoring the NIC's PCI config space, which is
lost when the NIC hardware watchdog triggers.
Reviewed by: jhb (previus version)
Diffstat (limited to 'gnu')
0 files changed, 0 insertions, 0 deletions