In fact efx_port_poll() always initializes it, but it isn't explicitly documented feature of the API. Moreover, the API annocation suggests that return code should be checked.
Fixes: 215e8b89d8a8 ("net/sfc: implement device operation to retrieve link info") Signed-off-by: Andrew Rybchenko <arybche...@solarflare.com> Reviewed-by: Andrew Lee <a...@solarflare.com> --- drivers/net/sfc/sfc_ethdev.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c index 3f0df76..d13b6d6 100644 --- a/drivers/net/sfc/sfc_ethdev.c +++ b/drivers/net/sfc/sfc_ethdev.c @@ -198,7 +198,8 @@ if (wait_to_complete) { efx_link_mode_t link_mode; - efx_port_poll(sa->nic, &link_mode); + if (efx_port_poll(sa->nic, &link_mode) != 0) + link_mode = EFX_LINK_UNKNOWN; sfc_port_link_mode_to_info(link_mode, ¤t_link); if (!rte_atomic64_cmpset((volatile uint64_t *)dev_link, -- 1.8.2.3