Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8f4c5c9f authored by John Fastabend's avatar John Fastabend Committed by David S. Miller
Browse files

ixgbe: reinit_locked() should be called with rtnl_lock



ixgbe_service_task() is calling ixgbe_reinit_locked() without
the rtnl_lock being held. This is because it is being called
from a worker thread and not a rtnl netlink or dcbnl path.

Add rtnl_{un}lock() semantics. I found this during code review.

Signed-off-by: default avatarJohn Fastabend <john.r.fastabend@intel.com>
Tested-by: default avatarPhil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: default avatarAaron Brown <aaron.f.brown@intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0864c158
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -6392,7 +6392,9 @@ static void ixgbe_reset_subtask(struct ixgbe_adapter *adapter)
	netdev_err(adapter->netdev, "Reset adapter\n");
	netdev_err(adapter->netdev, "Reset adapter\n");
	adapter->tx_timeout_count++;
	adapter->tx_timeout_count++;


	rtnl_lock();
	ixgbe_reinit_locked(adapter);
	ixgbe_reinit_locked(adapter);
	rtnl_unlock();
}
}


/**
/**