|
@@ -3729,7 +3729,8 @@ static int enlarge_buffer(struct st_buffer * STbuffer, int new_size, int need_dm
|
|
|
b_size = PAGE_SIZE << order;
|
|
|
} else {
|
|
|
for (b_size = PAGE_SIZE, order = 0;
|
|
|
- order < ST_MAX_ORDER && b_size < new_size;
|
|
|
+ order < ST_MAX_ORDER &&
|
|
|
+ max_segs * (PAGE_SIZE << order) < new_size;
|
|
|
order++, b_size *= 2)
|
|
|
; /* empty */
|
|
|
STbuffer->reserved_page_order = order;
|