sfc: Use netif_device_{detach,attach}() around reset and self-test
authorBen Hutchings <bhutchings@solarflare.com>
Mon, 16 May 2011 17:51:24 +0000 (18:51 +0100)
committerBen Hutchings <bhutchings@solarflare.com>
Mon, 16 May 2011 22:34:28 +0000 (23:34 +0100)
commite4abce8538496ba90cb89909894ea42e00f96a7d
tree738f4849e775c789efb3a6cb74d24125b752ee9d
parent602a5322a7a1b6b005cb50d423939bb7a8782838
sfc: Use netif_device_{detach,attach}() around reset and self-test

We need to keep the TX queues stopped throughout a reset, without
triggering the TX watchdog and regardless of the link state.  The
proper way to do this is to use netif_device_{detach,attach}() just as
we do around suspend/resume, rather than the current bodge of faking
link-down.

Since we also need to do this during an offline self-test and we
perform a reset during that, add these function calls outside of
efx_reset_down() and efx_reset_up().

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
drivers/net/sfc/efx.c
drivers/net/sfc/net_driver.h
drivers/net/sfc/selftest.c
drivers/net/sfc/tx.c