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

Commit f438bfe9 authored by Jian Shen's avatar Jian Shen Committed by David S. Miller
Browse files

net: hns3: fix for FEC configuration



The FEC capbility may be changed with port speed changes. Driver
needs to read the active FEC mode, and update FEC capability
when port speed changes.

Fixes: 7e6ec914 ("net: hns3: add support for FEC encoding control")
Signed-off-by: default avatarJian Shen <shenjian15@huawei.com>
Signed-off-by: default avatarHuazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d93ed94f
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -2512,6 +2512,9 @@ static void hclge_update_link_status(struct hclge_dev *hdev)

static void hclge_update_port_capability(struct hclge_mac *mac)
{
	/* update fec ability by speed */
	hclge_convert_setting_fec(mac);

	/* firmware can not identify back plane type, the media type
	 * read from configuration can help deal it
	 */
@@ -2584,6 +2587,10 @@ static int hclge_get_sfp_info(struct hclge_dev *hdev, struct hclge_mac *mac)
		mac->speed_ability = le32_to_cpu(resp->speed_ability);
		mac->autoneg = resp->autoneg;
		mac->support_autoneg = resp->autoneg_ability;
		if (!resp->active_fec)
			mac->fec_mode = 0;
		else
			mac->fec_mode = BIT(resp->active_fec);
	} else {
		mac->speed_type = QUERY_SFP_SPEED;
	}