diff options
Diffstat (limited to 'arch/powerpc/platforms/pseries/lpar.c')
| -rw-r--r-- | arch/powerpc/platforms/pseries/lpar.c | 8 | 
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/pseries/lpar.c b/arch/powerpc/platforms/pseries/lpar.c index 0da39fed355..299731e9036 100644 --- a/arch/powerpc/platforms/pseries/lpar.c +++ b/arch/powerpc/platforms/pseries/lpar.c @@ -186,7 +186,13 @@ static long pSeries_lpar_hpte_remove(unsigned long hpte_group)  					   (0x1UL << 4), &dummy1, &dummy2);  		if (lpar_rc == H_SUCCESS)  			return i; -		BUG_ON(lpar_rc != H_NOT_FOUND); + +		/* +		 * The test for adjunct partition is performed before the +		 * ANDCOND test.  H_RESOURCE may be returned, so we need to +		 * check for that as well. +		 */ +		BUG_ON(lpar_rc != H_NOT_FOUND && lpar_rc != H_RESOURCE);  		slot_offset++;  		slot_offset &= 0x7;  |