On 7/8/19 7:30 PM, Andrew Lunn wrote:
+static int ionic_nway_reset(struct net_device *netdev)
+{
+ struct lif *lif = netdev_priv(netdev);
+ int err = 0;
+
+ if (netif_running(netdev))
+ err = ionic_reset_queues(lif);
What does ionic_reset_queues() do? It sounds nothing like restarting
auto negotiation?
Andrew
Basically, it's a rip-it-all-down-and-start-over way of restarting the
connection, and is also useful for fixing queues that are misbehaving.
It's a little old-fashioned, taken from the ixgbe example, but is
effective when there isn't an actual "restart auto-negotiation" command
in the firmware.
I'll try to make it a little more evident.
sln