From: David Decotigny <de...@googlers.com>

Signed-off-by: David Decotigny <de...@googlers.com>
---
 drivers/scsi/fcoe/fcoe_transport.c | 36 ++++++++++++++++++++----------------
 1 file changed, 20 insertions(+), 16 deletions(-)

diff --git a/drivers/scsi/fcoe/fcoe_transport.c 
b/drivers/scsi/fcoe/fcoe_transport.c
index d7597c0..2d5909f 100644
--- a/drivers/scsi/fcoe/fcoe_transport.c
+++ b/drivers/scsi/fcoe/fcoe_transport.c
@@ -93,36 +93,40 @@ static struct notifier_block libfcoe_notifier = {
 int fcoe_link_speed_update(struct fc_lport *lport)
 {
        struct net_device *netdev = fcoe_get_netdev(lport);
-       struct ethtool_cmd ecmd;
+       struct ethtool_ksettings ecmd;
 
-       if (!__ethtool_get_settings(netdev, &ecmd)) {
+       if (!__ethtool_get_ksettings(netdev, &ecmd)) {
                lport->link_supported_speeds &= ~(FC_PORTSPEED_1GBIT  |
                                                  FC_PORTSPEED_10GBIT |
                                                  FC_PORTSPEED_20GBIT |
                                                  FC_PORTSPEED_40GBIT);
 
-               if (ecmd.supported & (SUPPORTED_1000baseT_Half |
-                                     SUPPORTED_1000baseT_Full |
-                                     SUPPORTED_1000baseKX_Full))
+               if (ecmd.link_modes.supported[0] & (
+                           SUPPORTED_1000baseT_Half |
+                           SUPPORTED_1000baseT_Full |
+                           SUPPORTED_1000baseKX_Full))
                        lport->link_supported_speeds |= FC_PORTSPEED_1GBIT;
 
-               if (ecmd.supported & (SUPPORTED_10000baseT_Full   |
-                                     SUPPORTED_10000baseKX4_Full |
-                                     SUPPORTED_10000baseKR_Full  |
-                                     SUPPORTED_10000baseR_FEC))
+               if (ecmd.link_modes.supported[0] & (
+                           SUPPORTED_10000baseT_Full   |
+                           SUPPORTED_10000baseKX4_Full |
+                           SUPPORTED_10000baseKR_Full  |
+                           SUPPORTED_10000baseR_FEC))
                        lport->link_supported_speeds |= FC_PORTSPEED_10GBIT;
 
-               if (ecmd.supported & (SUPPORTED_20000baseMLD2_Full |
-                                     SUPPORTED_20000baseKR2_Full))
+               if (ecmd.link_modes.supported[0] & (
+                           SUPPORTED_20000baseMLD2_Full |
+                           SUPPORTED_20000baseKR2_Full))
                        lport->link_supported_speeds |= FC_PORTSPEED_20GBIT;
 
-               if (ecmd.supported & (SUPPORTED_40000baseKR4_Full |
-                                     SUPPORTED_40000baseCR4_Full |
-                                     SUPPORTED_40000baseSR4_Full |
-                                     SUPPORTED_40000baseLR4_Full))
+               if (ecmd.link_modes.supported[0] & (
+                           SUPPORTED_40000baseKR4_Full |
+                           SUPPORTED_40000baseCR4_Full |
+                           SUPPORTED_40000baseSR4_Full |
+                           SUPPORTED_40000baseLR4_Full))
                        lport->link_supported_speeds |= FC_PORTSPEED_40GBIT;
 
-               switch (ethtool_cmd_speed(&ecmd)) {
+               switch (ecmd.parent.speed) {
                case SPEED_1000:
                        lport->link_speed = FC_PORTSPEED_1GBIT;
                        break;
-- 
2.6.0.rc2.230.g3dd15c0

--
To unsubscribe from this list: send the line "unsubscribe linux-api" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to