summaryrefslogtreecommitdiffstats
path: root/gnu
diff options
context:
space:
mode:
authorgallatin <gallatin@FreeBSD.org>2008-07-17 15:46:35 +0000
committergallatin <gallatin@FreeBSD.org>2008-07-17 15:46:35 +0000
commit57b9f1fb864a686e2691533a5e946d0e52380798 (patch)
treebc0473177cbea69c5d364d971073f830b90ba776 /gnu
parent26c7a0cd2bbc8e5f2e7bd917abd64ffdd37cc82d (diff)
downloadFreeBSD-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
OpenPOWER on IntegriCloud