summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/st.c7
-rw-r--r--drivers/scsi/st.h1
2 files changed, 3 insertions, 5 deletions
diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c
index 22ddca8..50dbe14 100644
--- a/drivers/scsi/st.c
+++ b/drivers/scsi/st.c
@@ -3749,7 +3749,7 @@ static struct st_buffer *new_tape_buffer(int need_dma, int max_sg)
printk(KERN_NOTICE "st: Can't allocate new tape buffer.\n");
return NULL;
}
- tb->frp_segs = tb->orig_frp_segs = 0;
+ tb->frp_segs = 0;
tb->use_sg = max_sg;
tb->dma = need_dma;
tb->buffer_size = 0;
@@ -3839,11 +3839,11 @@ static void normalize_buffer(struct st_buffer * STbuffer)
{
int i, order = STbuffer->map_data.page_order;
- for (i = STbuffer->orig_frp_segs; i < STbuffer->frp_segs; i++) {
+ for (i = 0; i < STbuffer->frp_segs; i++) {
__free_pages(STbuffer->reserved_pages[i], order);
STbuffer->buffer_size -= (PAGE_SIZE << order);
}
- STbuffer->frp_segs = STbuffer->orig_frp_segs;
+ STbuffer->frp_segs = 0;
STbuffer->frp_sg_current = 0;
STbuffer->sg_segs = 0;
STbuffer->map_data.page_order = 0;
@@ -4304,7 +4304,6 @@ static void scsi_tape_release(struct kref *kref)
tpnt->device = NULL;
if (tpnt->buffer) {
- tpnt->buffer->orig_frp_segs = 0;
normalize_buffer(tpnt->buffer);
kfree(tpnt->buffer->reserved_pages);
kfree(tpnt->buffer);
diff --git a/drivers/scsi/st.h b/drivers/scsi/st.h
index d297607..e682f80 100644
--- a/drivers/scsi/st.h
+++ b/drivers/scsi/st.h
@@ -51,7 +51,6 @@ struct st_buffer {
unsigned char *b_data;
unsigned short use_sg; /* zero or max number of s/g segments for this adapter */
unsigned short sg_segs; /* number of segments in s/g list */
- unsigned short orig_frp_segs; /* number of segments allocated at first try */
unsigned short frp_segs; /* number of buffer segments */
unsigned int frp_sg_current; /* driver buffer length currently in s/g list */
};
OpenPOWER on IntegriCloud