Commit 92bcdcc6 authored by David S. Miller's avatar David S. Miller

Merge branch 'qed-link-fixes'

Yuval Mintz says:

====================
qed*: Fix ethtool issues relating to link

This series addresses two issues that were introduced when adding
support for ethtool's link_ksettings support - the first fixes a
regression and second incorrect functionallity in the submission.

Although these are fixes, as the feature currently exists only in
'next-next' I'm aiming them for it.

Dave, please consider applying this series to 'net-next'.
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents a5c88182 16d5946a
...@@ -414,7 +414,7 @@ static int qede_set_link_ksettings(struct net_device *dev, ...@@ -414,7 +414,7 @@ static int qede_set_link_ksettings(struct net_device *dev,
} }
params.adv_speeds = QED_LM_40000baseLR4_Full_BIT; params.adv_speeds = QED_LM_40000baseLR4_Full_BIT;
break; break;
case 0xdead: case SPEED_50000:
if (!(current_link.supported_caps & if (!(current_link.supported_caps &
QED_LM_50000baseKR2_Full_BIT)) { QED_LM_50000baseKR2_Full_BIT)) {
DP_INFO(edev, "50G speed not supported\n"); DP_INFO(edev, "50G speed not supported\n");
...@@ -422,7 +422,7 @@ static int qede_set_link_ksettings(struct net_device *dev, ...@@ -422,7 +422,7 @@ static int qede_set_link_ksettings(struct net_device *dev,
} }
params.adv_speeds = QED_LM_50000baseKR2_Full_BIT; params.adv_speeds = QED_LM_50000baseKR2_Full_BIT;
break; break;
case 0xbeef: case SPEED_100000:
if (!(current_link.supported_caps & if (!(current_link.supported_caps &
QED_LM_100000baseKR4_Full_BIT)) { QED_LM_100000baseKR4_Full_BIT)) {
DP_INFO(edev, "100G speed not supported\n"); DP_INFO(edev, "100G speed not supported\n");
...@@ -672,7 +672,7 @@ static int qede_set_pauseparam(struct net_device *dev, ...@@ -672,7 +672,7 @@ static int qede_set_pauseparam(struct net_device *dev,
memset(&params, 0, sizeof(params)); memset(&params, 0, sizeof(params));
params.override_flags |= QED_LINK_OVERRIDE_PAUSE_CONFIG; params.override_flags |= QED_LINK_OVERRIDE_PAUSE_CONFIG;
if (epause->autoneg) { if (epause->autoneg) {
if (!(current_link.supported_caps & SUPPORTED_Autoneg)) { if (!(current_link.supported_caps & QED_LM_Autoneg_BIT)) {
DP_INFO(edev, "autoneg not supported\n"); DP_INFO(edev, "autoneg not supported\n");
return -EINVAL; return -EINVAL;
} }
......
...@@ -318,9 +318,11 @@ struct qed_link_params { ...@@ -318,9 +318,11 @@ struct qed_link_params {
struct qed_link_output { struct qed_link_output {
bool link_up; bool link_up;
u32 supported_caps; /* In SUPPORTED defs */ /* In QED_LM_* defs */
u32 advertised_caps; /* In ADVERTISED defs */ u32 supported_caps;
u32 lp_caps; /* In ADVERTISED defs */ u32 advertised_caps;
u32 lp_caps;
u32 speed; /* In Mb/s */ u32 speed; /* In Mb/s */
u8 duplex; /* In DUPLEX defs */ u8 duplex; /* In DUPLEX defs */
u8 port; /* In PORT defs */ u8 port; /* In PORT defs */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment