summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorKanoj Sarcar <kanoj@engr.sgi.com>2000-05-17 05:01:40 +0000
committerKanoj Sarcar <kanoj@engr.sgi.com>2000-05-17 05:01:40 +0000
commitc37170bc17a42d62fdb980266929abe216b32fff (patch)
tree2be0e010bfeb7ee8021f8a09bfd854a1ac0e7c08 /drivers
parent45e51c1beee43766d3a4fd5b40a339af21ef7fc9 (diff)
The device initialization code can not assume it is being invoked on
the master processor, aka processor 0, or on nasid 0. In an SMP environment, any cpu can be doing do_basic_setup(). This fixes the rare bootup problems we were seeing on SMP.
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ioc3-eth.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/ioc3-eth.c b/drivers/net/ioc3-eth.c
index 8a3952df4..5f0fcf9ca 100644
--- a/drivers/net/ioc3-eth.c
+++ b/drivers/net/ioc3-eth.c
@@ -664,7 +664,11 @@ ioc3_probe(struct net_device *dev)
return 0;
initialized++;
- nid = get_nasid();
+#if 0
+ nid = get_nasid(); /* Never assume we are on master cpu */
+#else
+ nid = 0;
+#endif
ioc3 = (struct ioc3 *) KL_CONFIG_CH_CONS_INFO(nid)->memory_base;
ioc3_probe1(dev, ioc3);