sfc: Poll for MCDI completion once before timeout occurs
authorRobert Stonehouse <rstonehouse@solarflare.com>
Wed, 9 Oct 2013 10:52:48 +0000 (11:52 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Jan 2014 23:31:39 +0000 (15:31 -0800)
commit702a3e12068917c504f0f6e4b86d87ca553f5566
tree3b312b88c5926b9817f17db3c566c79aff4826b7
parentd8203f8f29bae8d1beffa6faf0db4b1350177af2
sfc: Poll for MCDI completion once before timeout occurs

[ Upstream commit 6b294b8efedaa7cf7507154148e2c79766ad6f96 ]

There is an as-yet unexplained bug that sometimes prevents (or delays)
the driver seeing the completion event for a completed MCDI request on
the SFC9120.  The requested configuration change will have happened
but the driver assumes it to have failed, and this can result in
further failures.  We can mitigate this by polling for completion
after unsuccessfully waiting for an event.

Fixes: 8127d661e77f ('sfc: Add support for Solarflare SFC9100 family')
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/sfc/mcdi.c