Browse Source

qed*: Fix pause setting

When moving into using ethtool's link_ksetting, qed started
supplying its own bitmask of speed/capabilities, but qede
is still checking for the SUPPORTED value to determine whether
it supports pause.

Fixes: 054c67d1c82a ("qed*: Add support for ethtool link_ksettings callbacks")
Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Yuval Mintz 9 years ago
parent
commit
d194fd265e
2 changed files with 6 additions and 4 deletions
  1. 1 1
      drivers/net/ethernet/qlogic/qede/qede_ethtool.c
  2. 5 3
      include/linux/qed/qed_if.h

+ 1 - 1
drivers/net/ethernet/qlogic/qede/qede_ethtool.c

@@ -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;
 		}
 		}

+ 5 - 3
include/linux/qed/qed_if.h

@@ -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 */
-	u32	advertised_caps;        /* In ADVERTISED defs */
-	u32	lp_caps;                /* In ADVERTISED defs */
+	/* In QED_LM_* defs */
+	u32	supported_caps;
+	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 */