freebsd-nq/sys/dev/mxge
Andrew Gallatin e749ef6bab 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)
2008-07-17 15:46:35 +00:00
..
eth_z8e.h Fix accidental swap of "const" for "static" in mxge firmware byte arrays 2008-01-15 15:04:40 +00:00
ethp_z8e.h Fix accidental swap of "const" for "static" in mxge firmware byte arrays 2008-01-15 15:04:40 +00:00
if_mxge_var.h Now that mxge supports MSI-X interrupts, reverse the logic and flag 2008-02-14 16:24:14 +00:00
if_mxge.c Clean up mxge's use of callouts as pointed out by jhb, 2008-07-17 15:46:35 +00:00
mcp_gen_header.h Update the mxge(4) driver's copyright to 2007, and drop 2007-07-12 16:04:55 +00:00
mxge_eth_z8e.c - Enable static building of mxge(4) and its firmware. 2007-07-19 16:16:00 +00:00
mxge_ethp_z8e.c - Enable static building of mxge(4) and its firmware. 2007-07-19 16:16:00 +00:00
mxge_lro.c Add minimally invasive shims to ease MFCs of mxge back as far 2008-02-14 00:09:59 +00:00
mxge_mcp.h Add optional support to mxge for MSI-X interrupts and multiple receive 2008-01-15 20:34:49 +00:00
mxge_rss_eth_z8e.c Add optional support to mxge for MSI-X interrupts and multiple receive 2008-01-15 20:34:49 +00:00
mxge_rss_ethp_z8e.c Add optional support to mxge for MSI-X interrupts and multiple receive 2008-01-15 20:34:49 +00:00
rss_eth_z8e.h Make the type of the firmware arrays match those 2008-02-13 21:58:46 +00:00
rss_ethp_z8e.h Make the type of the firmware arrays match those 2008-02-13 21:58:46 +00:00