Ethernet woes

Hi. As the title suggests, I’m having a problem that I think pertains to my ethernet card. I’m running openSUSE 10.3 on a Thinkpad R61, and every so often (very sporadically), the computer will freeze and restart itself. When it does, the ethernet card always fails to come up. (A yellow light comes on on the side… this indicates an error of some type). If I then shut the laptop down and wait ~10 minutes or so to restart, the ethernet card comes up fine. Usually I check /var/log/messages after this happens, and see nothing of note, but this time I noticed the following. (I’m putting this in by typing it, as my laptop cannot connect right now, and I don’t have a handy keydrive…)

—Normal messages from last session, then after the restart: —
Dec 9 12:57:19 mercury kernel: NVRM os_map_kernel_space: can’t map 0xf0100000, invalid context!
Dec 9 12:57:19 mercury kernel: Uhhuh. NMI received for unknown reason a0.
Dec 9 12:57:19 mercury kernel: You have some hardware problem, likely on the PCI bus
Dec 9 12:57:19 mercury kernel: Dazed and confused, but trying to continue

The next lines afterward are the normal startup messages.

What I need to know is if I have a hardware error, or some buggy piece of software is the problem. I cannot really afford to be without my laptop for great lengths of time. I dual boot Vista on this machine, and have never had the restarting problem under vista (an occasional freezing problem, but even more rare than the restarting). The ethernet problem, however, persists, even when I boot to vista instead of SUSE.

I’m very much a novice at reading /var/log/ files, so if there is something I should look at to help pinpoint the issue, I would find it very helpful. Thanks to anyone for any help they can proivide me.

I am a novice suse’er, but have been in pc repair for a very long time and would be willing to put money on it being a hardware problem.

Do you know of any diagnostics I can run? The Thinkpad comes with a recovery partition that can runs some diagnostics on the PCI bus. My machine passes them with flying colors. Do you know of anything a little more robust that might help me pinpoint the error?