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 <snel...@pensando.io> > --- > 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?