gallatin 57b9f1fb86 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
..
2007-08-04 17:43:11 +00:00
2008-06-08 14:42:43 +00:00
2008-01-18 16:34:18 +00:00
2007-10-12 06:03:46 +00:00
2008-05-05 08:25:46 +00:00
2008-03-21 16:38:42 +00:00
2008-07-11 18:26:12 +00:00
2008-06-13 12:14:22 +00:00
2008-05-10 13:40:42 +00:00
2007-03-21 03:42:51 +00:00
2008-01-07 09:46:39 +00:00
2008-04-26 02:15:40 +00:00
2008-05-12 00:15:30 +00:00
2008-07-06 16:18:58 +00:00
2008-05-12 00:15:30 +00:00
2008-07-02 08:10:18 +00:00
2007-10-12 06:03:46 +00:00
2008-04-10 01:25:09 +00:00
2008-04-26 14:13:48 +00:00
2007-07-05 06:51:49 +00:00
2008-01-21 09:51:28 +00:00
2008-06-09 08:43:27 +00:00
2008-06-17 05:48:42 +00:00
2008-07-15 02:34:44 +00:00
2008-04-26 14:13:48 +00:00
2008-02-12 08:58:26 +00:00
2008-06-10 17:59:43 +00:00
2007-03-21 03:42:51 +00:00
2007-12-05 19:32:59 +00:00
2008-05-12 00:15:30 +00:00