|
|
@@ -1316,11 +1316,16 @@ static int efx_ef10_try_update_nic_stats_vf(struct efx_nic *efx)
|
|
|
MCDI_SET_DWORD(inbuf, MAC_STATS_IN_PORT_ID, EVB_PORT_ID_ASSIGNED);
|
|
|
|
|
|
spin_unlock_bh(&efx->stats_lock);
|
|
|
- rc = efx_mcdi_rpc(efx, MC_CMD_MAC_STATS, inbuf, sizeof(inbuf), NULL,
|
|
|
- 0, NULL);
|
|
|
+ rc = efx_mcdi_rpc_quiet(efx, MC_CMD_MAC_STATS, inbuf, sizeof(inbuf),
|
|
|
+ NULL, 0, NULL);
|
|
|
spin_lock_bh(&efx->stats_lock);
|
|
|
- if (rc)
|
|
|
+ if (rc) {
|
|
|
+ /* Expect ENOENT if DMA queues have not been set up */
|
|
|
+ if (rc != -ENOENT || atomic_read(&efx->active_queues))
|
|
|
+ efx_mcdi_display_error(efx, MC_CMD_MAC_STATS,
|
|
|
+ sizeof(inbuf), NULL, 0, rc);
|
|
|
goto out;
|
|
|
+ }
|
|
|
|
|
|
generation_end = dma_stats[MC_CMD_MAC_GENERATION_END];
|
|
|
if (generation_end == EFX_MC_STATS_GENERATION_INVALID) {
|