Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 127882
b: refs/heads/master
c: 9c90596
h: refs/heads/master
v: v3
  • Loading branch information
FUJITA Tomonori authored and James Bottomley committed Jan 2, 2009
1 parent dc63a7d commit 9dd9649
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 97ae77a1cd332c7b011d71315c8faabce6840c72
refs/heads/master: 9c905966c4d8c03ea21d230b277b7ea1e492f3c9
18 changes: 9 additions & 9 deletions trunk/drivers/scsi/st.c
Original file line number Diff line number Diff line change
Expand Up @@ -3747,20 +3747,20 @@ static int enlarge_buffer(struct st_buffer * STbuffer, int new_size, int need_dm
priority = GFP_KERNEL | __GFP_NOWARN;
if (need_dma)
priority |= GFP_DMA;
for (b_size = PAGE_SIZE, order=0; order <= 6 &&
b_size < new_size - STbuffer->buffer_size;
order++, b_size *= 2)
; /* empty */

if (STbuffer->frp_segs) {
b_size = STbuffer->frp[0].length;
order = get_order(b_size);
} else {
for (b_size = PAGE_SIZE, order = 0;
order <= 6 && b_size < new_size; order++, b_size *= 2)
; /* empty */
}

for (segs = STbuffer->frp_segs, got = STbuffer->buffer_size;
segs < max_segs && got < new_size;) {
STbuffer->frp[segs].page = alloc_pages(priority, order);
if (STbuffer->frp[segs].page == NULL) {
if (new_size - got <= (max_segs - segs) * b_size / 2) {
b_size /= 2; /* Large enough for the rest of the buffers */
order--;
continue;
}
DEB(STbuffer->buffer_size = got);
normalize_buffer(STbuffer);
return 0;
Expand Down

0 comments on commit 9dd9649

Please sign in to comment.