|
@@ -576,12 +576,10 @@ static __cpuinit int threshold_create_bank(unsigned int cpu, unsigned int bank)
|
|
|
int err = 0;
|
|
|
|
|
|
if (shared_bank[bank]) {
|
|
|
-
|
|
|
nb = node_to_amd_nb(amd_get_nb_id(cpu));
|
|
|
- WARN_ON(!nb);
|
|
|
|
|
|
/* threshold descriptor already initialized on this node? */
|
|
|
- if (nb->bank4) {
|
|
|
+ if (nb && nb->bank4) {
|
|
|
/* yes, use it */
|
|
|
b = nb->bank4;
|
|
|
err = kobject_add(b->kobj, &dev->kobj, name);
|
|
@@ -615,8 +613,10 @@ static __cpuinit int threshold_create_bank(unsigned int cpu, unsigned int bank)
|
|
|
atomic_set(&b->cpus, 1);
|
|
|
|
|
|
/* nb is already initialized, see above */
|
|
|
- WARN_ON(nb->bank4);
|
|
|
- nb->bank4 = b;
|
|
|
+ if (nb) {
|
|
|
+ WARN_ON(nb->bank4);
|
|
|
+ nb->bank4 = b;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
err = allocate_threshold_blocks(cpu, bank, 0,
|