Skip to content

Commit

Permalink
sfc: Recover from RX queue flush failure
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Steve Hodgson authored and Jeff Garzik committed Jun 10, 2008
1 parent bf4d593 commit 23bdfdd
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion drivers/net/sfc/falcon.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit 23bdfdd

Please sign in to comment.