diff options
Diffstat (limited to 'drivers/misc/sgi-xp/xpc_partition.c')
| -rw-r--r-- | drivers/misc/sgi-xp/xpc_partition.c | 25 | 
1 files changed, 15 insertions, 10 deletions
diff --git a/drivers/misc/sgi-xp/xpc_partition.c b/drivers/misc/sgi-xp/xpc_partition.c index d551f09ccb7..6956f7e7d43 100644 --- a/drivers/misc/sgi-xp/xpc_partition.c +++ b/drivers/misc/sgi-xp/xpc_partition.c @@ -439,18 +439,23 @@ xpc_discovery(void)  	 * nodes that can comprise an access protection grouping. The access  	 * protection is in regards to memory, IOI and IPI.  	 */ -	max_regions = 64;  	region_size = xp_region_size; -	switch (region_size) { -	case 128: -		max_regions *= 2; -	case 64: -		max_regions *= 2; -	case 32: -		max_regions *= 2; -		region_size = 16; -		DBUG_ON(!is_shub2()); +	if (is_uv()) +		max_regions = 256; +	else { +		max_regions = 64; + +		switch (region_size) { +		case 128: +			max_regions *= 2; +		case 64: +			max_regions *= 2; +		case 32: +			max_regions *= 2; +			region_size = 16; +			DBUG_ON(!is_shub2()); +		}  	}  	for (region = 0; region < max_regions; region++) {  |