Subject: Re: [net-next 04/10] ixgbe: fix link test when connected to 1Gbps link partner

From: Sergei Shtylyov <[email-masked]>
Date: Wed, 28 Aug 2013 22:28:24 +0400

Hello.

On 08/28/2013 02:33 PM, Jeff Kirsher wrote:

> From: Emil Tantilov <[email-masked]>

> This patch is a partial reverse of:
> commit dfcc4615f09c33454bc553567f7c7506cae60cb9

    Please also specify that commit's summary line in parens.

> Specifically forcing the laser before the link check can lead to
> inconsistent results because it does not guarantee that the link will be
> negotiated correctly. Such is the case when dual speed SFP+ module is
> connected to a gigabit link partner.

> Signed-off-by: Emil Tantilov <[email-masked]>
> Tested-by: Phil Schmitt <[email-masked]>
> Signed-off-by: Jeff Kirsher <[email-masked]>
> ---
>   drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 26 ++++++++----------------
>   1 file changed, 9 insertions(+), 17 deletions(-)

> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
> index db0dbf6..57465d8 100644
> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
> @@ -1885,11 +1885,11 @@ static void ixgbe_diag_test(struct net_device *netdev,
>                               struct ethtool_test *eth_test, u64 *data)
>   {
>   	struct ixgbe_adapter *adapter = netdev_priv(netdev);
> -	struct ixgbe_hw *hw = &adapter->hw;
>   	bool if_running = netif_running(netdev);
>
>   	set_bit(__IXGBE_TESTING, &adapter->state);
>   	if (eth_test->flags == ETH_TEST_FL_OFFLINE) {
> +		struct ixgbe_hw *hw = &adapter->hw;

    Empty line wouldn't here, after declaration. At least in the code above 
you have it.

>   		if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) {
>   			int i;
>   			for (i = 0; i < adapter->num_vfs; i++) {

WBR, Sergei