On 6/15/20 9:14 PM, Shannon Nelson wrote:
> If the driver is busy resetting queues after a change in
> MTU or queue parameters, don't bother checking the link,
> wait until the next watchdog cycle.
>
> Fixes: 987c0871e8ae ("ionic: check for linkup in watchdog")
> Signed-off-by: Shannon Nelson <[email protected]>
> ---
> drivers/net/ethernet/pensando/ionic/ionic_lif.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/pensando/ionic/ionic_lif.c
> b/drivers/net/ethernet/pensando/ionic/ionic_lif.c
> index 9d8c969f21cb..bfadc4934702 100644
> --- a/drivers/net/ethernet/pensando/ionic/ionic_lif.c
> +++ b/drivers/net/ethernet/pensando/ionic/ionic_lif.c
> @@ -96,7 +96,8 @@ static void ionic_link_status_check(struct ionic_lif *lif)
> u16 link_status;
> bool link_up;
>
> - if (!test_bit(IONIC_LIF_F_LINK_CHECK_REQUESTED, lif->state))
> + if (!test_bit(IONIC_LIF_F_LINK_CHECK_REQUESTED, lif->state) ||
> + test_bit(IONIC_LIF_F_QUEUE_RESET, lif->state))
> return;
>
> link_status = le16_to_cpu(lif->info->status.link_status);
>
Would a firmware reset bit being asserted also cause an issue here
(IONIC_LIF_F_FW_RESET)? Meaning do we need to test for this bit as well?