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

Commit ae84dbf7 authored by Tony Nguyen's avatar Tony Nguyen Committed by Jeff Kirsher
Browse files

ixgbe: Do not support flow control autonegotiation for X553



Flow control autonegotiation is not supported for fiber on X553.  Add
device ID checks in ixgbe_device_supports_autoneg_fc() to return the
appropriate value.

Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: default avatarEmil Tantilov <emil.s.tantilov@intel.com>
Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 48301cf2
Loading
Loading
Loading
Loading
+19 −6
Original line number Diff line number Diff line
@@ -79,6 +79,13 @@ bool ixgbe_device_supports_autoneg_fc(struct ixgbe_hw *hw)

	switch (hw->phy.media_type) {
	case ixgbe_media_type_fiber:
		/* flow control autoneg black list */
		switch (hw->device_id) {
		case IXGBE_DEV_ID_X550EM_A_SFP:
		case IXGBE_DEV_ID_X550EM_A_SFP_N:
			supported = false;
			break;
		default:
			hw->mac.ops.check_link(hw, &speed, &link_up, false);
			/* if link is down, assume supported */
			if (link_up)
@@ -86,6 +93,8 @@ bool ixgbe_device_supports_autoneg_fc(struct ixgbe_hw *hw)
				true : false;
			else
				supported = true;
		}

		break;
	case ixgbe_media_type_backplane:
		supported = true;
@@ -111,6 +120,10 @@ bool ixgbe_device_supports_autoneg_fc(struct ixgbe_hw *hw)
		break;
	}

	if (!supported)
		hw_dbg(hw, "Device %x does not support flow control autoneg\n",
		       hw->device_id);

	return supported;
}