projects
/
platform
/
kernel
/
linux-stable.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
bf4d593
)
sfc: Recover from RX queue flush failure
author
Steve Hodgson
<shodgson@solarflare.com>
Mon, 9 Jun 2008 18:34:32 +0000
(19:34 +0100)
committer
Jeff Garzik
<jgarzik@redhat.com>
Tue, 10 Jun 2008 22:20:21 +0000
(18:20 -0400)
RX queue flush can fail if traffic continues to arrive. Recover by
performing an invisible reset.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/net/sfc/falcon.c
patch
|
blob
|
history
diff --git
a/drivers/net/sfc/falcon.c
b/drivers/net/sfc/falcon.c
index
d3f749c
..
790db89
100644
(file)
--- a/
drivers/net/sfc/falcon.c
+++ b/
drivers/net/sfc/falcon.c
@@
-733,8
+733,10
@@
void falcon_fini_rx(struct efx_rx_queue *rx_queue)
continue;
break;
}
- if (rc)
+ if (rc)
{
EFX_ERR(efx, "failed to flush rx queue %d\n", rx_queue->queue);
+ efx_schedule_reset(efx, RESET_TYPE_INVISIBLE);
+ }
/* Remove RX descriptor ring from card */
EFX_ZERO_OWORD(rx_desc_ptr);