diff options
Diffstat (limited to 'kernel/range.c')
| -rw-r--r-- | kernel/range.c | 8 | 
1 files changed, 5 insertions, 3 deletions
| diff --git a/kernel/range.c b/kernel/range.c index 071b0ab455cb..eb911dbce267 100644 --- a/kernel/range.c +++ b/kernel/range.c @@ -48,9 +48,11 @@ int add_range_with_merge(struct range *range, int az, int nr_range,  		final_start = min(range[i].start, start);  		final_end = max(range[i].end, end); -		range[i].start = final_start; -		range[i].end =  final_end; -		return nr_range; +		/* clear it and add it back for further merge */ +		range[i].start = 0; +		range[i].end =  0; +		return add_range_with_merge(range, az, nr_range, +			final_start, final_end);  	}  	/* Need to add it: */ |