diff options
author | Kanoj Sarcar <kanoj@engr.sgi.com> | 2000-05-17 05:01:40 +0000 |
---|---|---|
committer | Kanoj Sarcar <kanoj@engr.sgi.com> | 2000-05-17 05:01:40 +0000 |
commit | c37170bc17a42d62fdb980266929abe216b32fff (patch) | |
tree | 2be0e010bfeb7ee8021f8a09bfd854a1ac0e7c08 /drivers | |
parent | 45e51c1beee43766d3a4fd5b40a339af21ef7fc9 (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.c | 6 |
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); |