]> git.baikalelectronics.ru Git - kernel.git/commit
ionic: centralize queue reset code
authorShannon Nelson <snelson@pensando.io>
Tue, 7 Jul 2020 21:13:26 +0000 (14:13 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 7 Jul 2020 22:50:31 +0000 (15:50 -0700)
commit85c5bf7d630cc79d60fedb7cbd420fea96df3267
tree0a19f2b8a34fec5402f5c8897e311c3185e81547
parent6c287eeea72b0c0009637d07e5e818aefd587c18
ionic: centralize queue reset code

The queue reset pattern is used in a couple different places,
only slightly different from each other, and could cause
issues if one gets changed and the other didn't.  This puts
them together so that only one version is needed, yet each
can have slighty different effects by passing in a pointer
to a work function to do whatever configuration twiddling is
needed in the middle of the reset.

This specifically addresses issues seen where under loops
of changing ring size or queue count parameters we could
occasionally bump into the netdev watchdog.

v2: added more commit message commentary

Fixes: 47577625b856 ("ionic: Add initial ethtool support")
Signed-off-by: Shannon Nelson <snelson@pensando.io>
Acked-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/pensando/ionic/ionic_ethtool.c
drivers/net/ethernet/pensando/ionic/ionic_lif.c
drivers/net/ethernet/pensando/ionic/ionic_lif.h