Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
[pandora-kernel.git] / drivers / scsi / bnx2fc / bnx2fc_fcoe.c
index 6623656..ab255fb 100644 (file)
@@ -664,7 +664,7 @@ static void bnx2fc_link_speed_update(struct fc_lport *lport)
        struct fcoe_port *port = lport_priv(lport);
        struct bnx2fc_hba *hba = port->priv;
        struct net_device *netdev = hba->netdev;
-       struct ethtool_cmd ecmd = { ETHTOOL_GSET };
+       struct ethtool_cmd ecmd;
 
        if (!dev_ethtool_get_settings(netdev, &ecmd)) {
                lport->link_supported_speeds &=
@@ -675,12 +675,15 @@ static void bnx2fc_link_speed_update(struct fc_lport *lport)
                if (ecmd.supported & SUPPORTED_10000baseT_Full)
                        lport->link_supported_speeds |= FC_PORTSPEED_10GBIT;
 
-               if (ecmd.speed == SPEED_1000)
+               switch (ethtool_cmd_speed(&ecmd)) {
+               case SPEED_1000:
                        lport->link_speed = FC_PORTSPEED_1GBIT;
-               if (ecmd.speed == SPEED_10000)
+                       break;
+               case SPEED_10000:
                        lport->link_speed = FC_PORTSPEED_10GBIT;
+                       break;
+               }
        }
-       return;
 }
 static int bnx2fc_link_ok(struct fc_lport *lport)
 {