Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 23bdfdd3 authored by Steve Hodgson's avatar Steve Hodgson Committed by Jeff Garzik
Browse files

sfc: Recover from RX queue flush failure



RX queue flush can fail if traffic continues to arrive.  Recover by
performing an invisible reset.

Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
parent bf4d5934
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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);