mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-06 14:48:06 +00:00
[SCSI] st: Store page order before driver buffer allocation
The order of the pages allocated for the driver buffer must be stored before allocation because it is used in freeing already allocated pages if allocation fails. Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi> Reported-by: Lukas Kolbe <lkolbe@techfak.uni-bielefeld.de> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
parent
a87e3a67d5
commit
373daacfce
1 changed files with 2 additions and 2 deletions
|
@ -17,7 +17,7 @@
|
|||
Last modified: 18-JAN-1998 Richard Gooch <rgooch@atnf.csiro.au> Devfs support
|
||||
*/
|
||||
|
||||
static const char *verstr = "20100829";
|
||||
static const char *verstr = "20101219";
|
||||
|
||||
#include <linux/module.h>
|
||||
|
||||
|
@ -3732,6 +3732,7 @@ static int enlarge_buffer(struct st_buffer * STbuffer, int new_size, int need_dm
|
|||
order < ST_MAX_ORDER && b_size < new_size;
|
||||
order++, b_size *= 2)
|
||||
; /* empty */
|
||||
STbuffer->reserved_page_order = order;
|
||||
}
|
||||
if (max_segs * (PAGE_SIZE << order) < new_size) {
|
||||
if (order == ST_MAX_ORDER)
|
||||
|
@ -3758,7 +3759,6 @@ static int enlarge_buffer(struct st_buffer * STbuffer, int new_size, int need_dm
|
|||
segs++;
|
||||
}
|
||||
STbuffer->b_data = page_address(STbuffer->reserved_pages[0]);
|
||||
STbuffer->reserved_page_order = order;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue