All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Krzysztof Olędzki" <ole@ans.pl>
To: Matt Carlson <mcarlson@broadcom.com>
Cc: Jean-Louis Dupond <info@dupondje.be>,
	Michael Chan <mchan@broadcom.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	David Christensen <davidch@broadcom.com>
Subject: Re: tg3 driver not advertising 1000mbit
Date: Wed, 24 Nov 2010 21:09:52 +0100	[thread overview]
Message-ID: <4CED7110.9030801@ans.pl> (raw)
In-Reply-To: <20090702164212.GA8430@xw6200.broadcom.net>

On 2009-07-02 18:42, Matt Carlson wrote:
> On Tue, Jun 30, 2009 at 02:20:45AM -0700, Jean-Louis Dupond wrote:
>> # ethtool -i eth0
>> driver: tg3
>> version: 3.97
>> firmware-version: 5722-v3.08, ASFIPMI v6.02
>> bus-info: 0000:01:00.0
>>
>> Kernel version 2.6.29.4
>
> Rats.  I mirrored your setup here, but I still can't reproduce the
> problem.  I still suspect this is a bad driver<=>  firmware interaction.
>
> Can you apply the following patch and show me the resulting syslog
> entries?  The patch is just making sure the firmware request to shutdown
> really goes through.
>
>
> diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
> index 46a3f86..900e28b 100644
> --- a/drivers/net/tg3.c
> +++ b/drivers/net/tg3.c
> @@ -1124,6 +1124,9 @@ static void tg3_wait_for_event_ack(struct tg3 *tp)
>   			break;
>   		udelay(8);
>   	}
> +
> +	if (i == delay_cnt)
> +		printk( KERN_WARNING "Firmware didn't ack driver event!\n" );
>   }
>
>   /* tp->lock is held. */
> @@ -6330,12 +6333,16 @@ static void tg3_stop_fw(struct tg3 *tp)
>   		/* Wait for RX cpu to ACK the previous event. */
>   		tg3_wait_for_event_ack(tp);
>
> +		printk( KERN_NOTICE "%s: Stopping firmware.\n", tp->dev->name );
> +
>   		tg3_write_mem(tp, NIC_SRAM_FW_CMD_MBOX, FWCMD_NICDRV_PAUSE_FW);
>
>   		tg3_generate_fw_event(tp);
>
>   		/* Wait for RX cpu to ACK this event. */
>   		tg3_wait_for_event_ack(tp);
> +
> +		printk( KERN_NOTICE "%s: Operation completed.\n", tp->dev->name );
>   	}
>   }
>
> @@ -7537,6 +7544,8 @@ static void tg3_timer(unsigned long __opaque)
>   		    !(tp->tg3_flags3&  TG3_FLG3_ENABLE_APE)) {
>   			tg3_wait_for_event_ack(tp);
>
> +			printk( KERN_NOTICE "%s: Sending keepalive event.\n", tp->dev->name );
> +
>   			tg3_write_mem(tp, NIC_SRAM_FW_CMD_MBOX,
>   				      FWCMD_NICDRV_ALIVE3);
>   			tg3_write_mem(tp, NIC_SRAM_FW_CMD_LEN_MBOX, 4);

Hello,

Have you been able to solve this issue? I have a similar problem with 
Dell PowerEdge R300 servers connected to HP2610 100Mbps switches. The 
servers contain two BCM5722 NICs and after a reboot, with probability 
about 70%, I end up with 10Mbps HD mainly on the first NIC.

I discovered that it is enough to run:
  /sbin/mii-tool -R eth0
  /sbin/mii-tool -R eth1
to trigger renegotiation that brings expected 100Mbps FD. For now, I 
added this to my startups scripts as a workaround.

This problem exists in 2.6.30-stable, 2.6.31-stable and 2.6.34-stable 
which I'm currently running.

Best regards,

			Krzysztof Olędzki

  reply	other threads:[~2010-11-24 20:28 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-12 14:05 tg3 driver not advertising 1000mbit Jean-Louis Dupond
2009-06-12 18:37 ` Michael Chan
2009-06-12 21:51   ` Jean-Louis Dupond
2009-06-12 22:01     ` Michael Chan
2009-06-12 22:16       ` Jean-Louis Dupond
2009-06-13  1:31         ` Michael Chan
2009-06-23 18:21           ` Igor Widlinski
2009-06-24 17:36         ` Matt Carlson
2009-06-26 21:33           ` Jean-Louis Dupond
2009-06-27  2:26             ` Matt Carlson
2009-06-27  9:58               ` Jean-Louis Dupond
2009-06-29 18:50                 ` Matt Carlson
2009-06-30  9:20                   ` Jean-Louis Dupond
2009-07-02 16:42                     ` Matt Carlson
2010-11-24 20:09                       ` Krzysztof Olędzki [this message]
2010-11-24 22:27                         ` Jean-Louis Dupond

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4CED7110.9030801@ans.pl \
    --to=ole@ans.pl \
    --cc=davidch@broadcom.com \
    --cc=info@dupondje.be \
    --cc=mcarlson@broadcom.com \
    --cc=mchan@broadcom.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.