summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/st.c8
-rw-r--r--drivers/scsi/st.h1
2 files changed, 2 insertions, 7 deletions
diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c
index 1cfd217f890..f934016f640 100644
--- a/drivers/scsi/st.c
+++ b/drivers/scsi/st.c
@@ -3744,7 +3744,7 @@ static long st_compat_ioctl(struct file *file, unsigned int cmd, unsigned long a
static struct st_buffer *
new_tape_buffer(int from_initialization, int need_dma, int max_sg)
{
- int i, got = 0;
+ int got = 0;
gfp_t priority;
struct st_buffer *tb;
@@ -3753,10 +3753,7 @@ static struct st_buffer *
else
priority = GFP_KERNEL;
- i = sizeof(struct st_buffer) +
- (max_sg - 1) * sizeof(struct scatterlist);
-
- tb = kzalloc(i, priority);
+ tb = kzalloc(sizeof(struct st_buffer), priority);
if (!tb) {
printk(KERN_NOTICE "st: Can't allocate new tape buffer.\n");
return NULL;
@@ -3766,7 +3763,6 @@ static struct st_buffer *
tb->dma = need_dma;
tb->buffer_size = got;
- sg_init_table(tb->sg, max_sg);
tb->reserved_pages = kzalloc(max_sg * sizeof(struct page *), priority);
if (!tb->reserved_pages) {
diff --git a/drivers/scsi/st.h b/drivers/scsi/st.h
index cc46f18762b..d29760776f4 100644
--- a/drivers/scsi/st.h
+++ b/drivers/scsi/st.h
@@ -54,7 +54,6 @@ struct st_buffer {
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 */
- struct scatterlist sg[1]; /* MUST BE last item */
};
/* The tape mode definition */