[SCSI] fcoe: check netif operstate instead of IFF_UP & link state
authorChris Leech <christopher.leech@intel.com>
Fri, 9 Apr 2010 21:22:28 +0000 (14:22 -0700)
committerJames Bottomley <James.Bottomley@suse.de>
Sun, 11 Apr 2010 19:02:32 +0000 (14:02 -0500)
Allow for dormant states while link configuration completes.
In the default link mode, this is equivalent to the old check.

Signed-off-by: Chris Leech <christopher.leech@intel.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/fcoe/fcoe.c

index 0d8127e..d16dd12 100644 (file)
@@ -2148,8 +2148,7 @@ int fcoe_link_ok(struct fc_lport *lport)
        struct net_device *netdev = port->fcoe->netdev;
        struct ethtool_cmd ecmd = { ETHTOOL_GSET };
 
-       if ((netdev->flags & IFF_UP) && netif_carrier_ok(netdev) &&
-           (!dev_ethtool_get_settings(netdev, &ecmd))) {
+       if (netif_oper_up(netdev) && !dev_ethtool_get_settings(netdev, &ecmd)) {
                lport->link_supported_speeds &=
                        ~(FC_PORTSPEED_1GBIT | FC_PORTSPEED_10GBIT);
                if (ecmd.supported & (SUPPORTED_1000baseT_Half |