netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Michael Chan" <mchan@broadcom.com>
To: davem@davemloft.net
Cc: jgarzik@pobox.com, netdev@oss.sgi.com
Subject: [PATCH 2.6.12-rc5 9/9] tg3: Fix bug in tg3_load_firmware_cpu
Date: Thu, 26 May 2005 11:00:11 -0700	[thread overview]
Message-ID: <1117130411.3744.61.camel@rh4> (raw)
In-Reply-To: <1117128795.3744.22.camel@rh4>

[-- Attachment #1: Type: text/plain, Size: 375 bytes --]

Add tg3_nvram_lock() and tg3_nvram_unlock() calls around tg3_halt_cpu().
It is possible that the bootcode may be loading code from nvram during
this call and stopping the cpu without getting the lock may cause
uncompleted nvram data to be left in the nvram data register. Subsequent
calls to read/write nvram data will fail.

Signed-off-by: Michael Chan <mchan@broadcom.com>

[-- Attachment #2: tg3-d9.patch --]
[-- Type: text/x-patch, Size: 502 bytes --]

diff -Nru d8/drivers/net/tg3.c d9/drivers/net/tg3.c
--- d8/drivers/net/tg3.c	2005-05-25 12:59:46.000000000 -0700
+++ d9/drivers/net/tg3.c	2005-05-25 12:59:55.000000000 -0700
@@ -4370,7 +4370,12 @@
 	 */
 	tp->tg3_flags |= TG3_FLAG_PCIX_TARGET_HWBUG;
 
+	/* It is possible that bootcode is still loading at this point.
+	 * Get the nvram lock first before halting the cpu.
+	 */
+	tg3_nvram_lock(tp);
 	err = tg3_halt_cpu(tp, cpu_base);
+	tg3_nvram_unlock(tp);
 	if (err)
 		goto out;
 

  parent reply	other threads:[~2005-05-26 18:00 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-26 17:33 [PATCH 2.6.12-rc5 0/9] tg3: Add ethtool selftest Michael Chan
2005-05-26 17:56 ` [PATCH 2.6.12-rc5 1/9] tg3: Add basic selftest infrastructure Michael Chan
2005-05-26 17:57 ` [PATCH 2.6.12-rc5 2/9] tg3: Add nvram test Michael Chan
2005-05-26 17:57 ` [PATCH 2.6.12-rc5 3/9] tg3: Add link test Michael Chan
2005-05-26 17:58 ` [PATCH 2.6.12-rc5 4/9] tg3: Add parameter to tg3_halt Michael Chan
2005-05-26 17:58 ` [PATCH 2.6.12-rc5 5/9] tg3: Add register test Michael Chan
2005-05-26 17:58 ` [PATCH 2.6.12-rc5 6/9] tg3: Add memory test Michael Chan
2005-05-26 17:59 ` [PATCH 2.6.12-rc5 7/9] tg3: Add loopback test Michael Chan
2005-05-26 17:59 ` [PATCH 2.6.12-rc5 8/9] tg3: Add interrupt test Michael Chan
2005-05-26 18:00 ` Michael Chan [this message]
2005-05-26 19:13   ` [PATCH 2.6.12-rc5 9/9] tg3: Fix bug in tg3_load_firmware_cpu Jeff Garzik
2005-05-26 22:10   ` David S. Miller

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=1117130411.3744.61.camel@rh4 \
    --to=mchan@broadcom.com \
    --cc=davem@davemloft.net \
    --cc=jgarzik@pobox.com \
    --cc=netdev@oss.sgi.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).