aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ixgbe
diff options
context:
space:
mode:
authorMallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com>2009-08-25 00:47:11 -0400
committerDavid S. Miller <davem@davemloft.net>2009-08-26 18:36:45 -0400
commit46a72b35144769d1e9c23c3a9a26c1776ef7d8f6 (patch)
tree0542c352236a2a14c7844ae41db771a6d5aa45b3 /drivers/net/ixgbe
parentfa3ce355c1bf1a83b843420228202fd6f8023ad3 (diff)
ixgbe: Fix isues while reporting 8259x backplane link capabilities
Fix ethtool get_settings logic to report 10G & 1G advertised and supported link modes in all 8259x 10G backplane connection types except for 82598EB BX network connection type. Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ixgbe')
-rw-r--r--drivers/net/ixgbe/ixgbe_ethtool.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/drivers/net/ixgbe/ixgbe_ethtool.c b/drivers/net/ixgbe/ixgbe_ethtool.c
index dd221bba54d9..1444ec512536 100644
--- a/drivers/net/ixgbe/ixgbe_ethtool.c
+++ b/drivers/net/ixgbe/ixgbe_ethtool.c
@@ -169,23 +169,20 @@ static int ixgbe_get_settings(struct net_device *netdev,
169 } 169 }
170 } else if (hw->phy.media_type == ixgbe_media_type_backplane) { 170 } else if (hw->phy.media_type == ixgbe_media_type_backplane) {
171 /* Set as FIBRE until SERDES defined in kernel */ 171 /* Set as FIBRE until SERDES defined in kernel */
172 switch (hw->device_id) { 172 if (hw->device_id == IXGBE_DEV_ID_82598_BX) {
173 case IXGBE_DEV_ID_82598:
174 ecmd->supported |= (SUPPORTED_1000baseT_Full |
175 SUPPORTED_FIBRE);
176 ecmd->advertising = (ADVERTISED_10000baseT_Full |
177 ADVERTISED_1000baseT_Full |
178 ADVERTISED_FIBRE);
179 ecmd->port = PORT_FIBRE;
180 break;
181 case IXGBE_DEV_ID_82598_BX:
182 ecmd->supported = (SUPPORTED_1000baseT_Full | 173 ecmd->supported = (SUPPORTED_1000baseT_Full |
183 SUPPORTED_FIBRE); 174 SUPPORTED_FIBRE);
184 ecmd->advertising = (ADVERTISED_1000baseT_Full | 175 ecmd->advertising = (ADVERTISED_1000baseT_Full |
185 ADVERTISED_FIBRE); 176 ADVERTISED_FIBRE);
186 ecmd->port = PORT_FIBRE; 177 ecmd->port = PORT_FIBRE;
187 ecmd->autoneg = AUTONEG_DISABLE; 178 ecmd->autoneg = AUTONEG_DISABLE;
188 break; 179 } else {
180 ecmd->supported |= (SUPPORTED_1000baseT_Full |
181 SUPPORTED_FIBRE);
182 ecmd->advertising = (ADVERTISED_10000baseT_Full |
183 ADVERTISED_1000baseT_Full |
184 ADVERTISED_FIBRE);
185 ecmd->port = PORT_FIBRE;
189 } 186 }
190 } else { 187 } else {
191 ecmd->supported |= SUPPORTED_FIBRE; 188 ecmd->supported |= SUPPORTED_FIBRE;