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

Commit 4c7e604b authored by Andy Gospodarek's avatar Andy Gospodarek Committed by Jeff Kirsher
Browse files

ixgbe: fix panic due to uninitialised pointer



Systems containing an 82599EB and running a backported driver from
upstream were panicing on boot.  It turns out hw->mac.ops.setup_sfp is
only set for 82599, so one should check to be sure that pointer is set
before continuing in ixgbe_sfp_config_module_task.  I verified by
inspection that the upstream driver has the same issue and also added a
check before the call in ixgbe_sfp_link_config.

Signed-off-by: default avatarAndy Gospodarek <andy@greyhouse.net>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 713b3c9e
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -3728,6 +3728,7 @@ static void ixgbe_sfp_link_config(struct ixgbe_adapter *adapter)
			 * We need to try and force an autonegotiation
			 * session, then bring up link.
			 */
			if (hw->mac.ops.setup_sfp)
				hw->mac.ops.setup_sfp(hw);
			if (!(adapter->flags & IXGBE_FLAG_IN_SFP_LINK_TASK))
				schedule_work(&adapter->multispeed_fiber_task);
@@ -5968,6 +5969,7 @@ static void ixgbe_sfp_config_module_task(struct work_struct *work)
		unregister_netdev(adapter->netdev);
		return;
	}
	if (hw->mac.ops.setup_sfp)
		hw->mac.ops.setup_sfp(hw);

	if (!(adapter->flags & IXGBE_FLAG_IN_SFP_LINK_TASK))