sfc: use MCDI epoch flag to improve MC reboot detection in the driver
authorDaniel Pieczko <dpieczko@solarflare.com>
Thu, 20 Jun 2013 10:40:07 +0000 (11:40 +0100)
committerBen Hutchings <bhutchings@solarflare.com>
Tue, 27 Aug 2013 21:27:57 +0000 (22:27 +0100)
commitd36a08b4ae08566426ddb7519b869ec0cd040532
tree21be6449965c43160c057395b4983f8b6f04026a
parent3de82b91ea604d7178925ce80ab821c968009c21
sfc: use MCDI epoch flag to improve MC reboot detection in the driver

The Huntington MC will reject all MCDI requests after an MC reboot until it sees
one with the NOT_EPOCH flag clear.  This flag is set by default for all requests,
and then cleared on the first request after we detect that an MC reboot has
occurred.

The old MCDI_STATUS_DELAY_COUNT gave a timeout of 10ms, which was not long enough
for the driver to detect that a reboot had occurred based on the warm boot count
while calling efx_mcdi_poll_reboot() from the loop in efx_mcdi_ev_death().

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
drivers/net/ethernet/sfc/mcdi.c
drivers/net/ethernet/sfc/mcdi.h