Re: [PATCH] Gigabit Ethernet driver of Topcliff PCH

From: Stephen Hemminger
Date: Thu Aug 26 2010 - 11:40:30 EST


On Thu, 26 Aug 2010 18:56:55 +0900
Masayuki Ohtake <masa-korg@xxxxxxxxxxxxxxx> wrote:

> +static int pch_gbe_get_settings(struct net_device *netdev,
> + struct ethtool_cmd *ecmd)
> +{
> + struct pch_gbe_adapter *adapter = netdev_priv(netdev);
> + int ret;
> +
> + PCH_GBE_DEBUG("ethtool: %s\n", __func__);
> +
> + ret = mii_ethtool_gset(&adapter->mii, ecmd);
> + ecmd->supported &= (u32) (~SUPPORTED_TP);
> + ecmd->supported &= (u32) (~SUPPORTED_1000baseT_Half);
> + ecmd->advertising &= (u32) (~ADVERTISED_TP);
> + ecmd->advertising &= (u32) (~ADVERTISED_1000baseT_Half);
> +
> + if (netif_carrier_ok(adapter->netdev)) {
> + ;
> + } else {
> + ecmd->speed = 0xFFFF;
> + ecmd->duplex = 0xFF;
> + }
> + return ret;
> +}

No need for cast to u32 on the masking:
ecmd->supported &= ~(SUPPORTED_TP | SUPPORTED_1000baseT_Half);
ecmd->advertising &= ~(ADVERTISED_TP | ADVERTISED_1000baseT_Half);



Awkward use of if, and don't set other bits in duplex
if (!netif_carrier_ok(adapter->netdev))
ecmd->speed = -1;


--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/