summaryrefslogtreecommitdiff
path: root/drivers/scsi/st.c
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2008-12-18 08:49:47 +0300
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2009-01-02 21:01:35 +0300
commitf409d6cc688d4e87b0ebf577b6554695e1931705 (patch)
treead434bf5b240b383f6e8de9b0c87c72330d4d350 /drivers/scsi/st.c
parentb3d59115ba2b2550d70eafd929f1fa607fe588dc (diff)
downloadlinux-f409d6cc688d4e87b0ebf577b6554695e1931705.tar.xz
[SCSI] st: simplify new_tape_buffer
- remove the from_initialization argument, which is always 1. We always need to use GFP_ATOMIC. - 'got' valuable is initialized to zero and doesn't change. We don't need it. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Acked-by: Kai Makisara <Kai.Makisara@kolumbus.fi> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/st.c')
-rw-r--r--drivers/scsi/st.c21
1 files changed, 6 insertions, 15 deletions
diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c
index f934016f640c..22ddca891e17 100644
--- a/drivers/scsi/st.c
+++ b/drivers/scsi/st.c
@@ -182,7 +182,6 @@ static struct scsi_tape **scsi_tapes = NULL;
static int modes_defined;
-static struct st_buffer *new_tape_buffer(int, int, int);
static int enlarge_buffer(struct st_buffer *, int, int);
static void clear_buffer(struct st_buffer *);
static void normalize_buffer(struct st_buffer *);
@@ -3741,30 +3740,22 @@ static long st_compat_ioctl(struct file *file, unsigned int cmd, unsigned long a
/* Try to allocate a new tape buffer. Calling function must not hold
dev_arr_lock. */
-static struct st_buffer *
- new_tape_buffer(int from_initialization, int need_dma, int max_sg)
+static struct st_buffer *new_tape_buffer(int need_dma, int max_sg)
{
- int got = 0;
- gfp_t priority;
struct st_buffer *tb;
- if (from_initialization)
- priority = GFP_ATOMIC;
- else
- priority = GFP_KERNEL;
-
- tb = kzalloc(sizeof(struct st_buffer), priority);
+ tb = kzalloc(sizeof(struct st_buffer), GFP_ATOMIC);
if (!tb) {
printk(KERN_NOTICE "st: Can't allocate new tape buffer.\n");
return NULL;
}
tb->frp_segs = tb->orig_frp_segs = 0;
tb->use_sg = max_sg;
-
tb->dma = need_dma;
- tb->buffer_size = got;
+ tb->buffer_size = 0;
- tb->reserved_pages = kzalloc(max_sg * sizeof(struct page *), priority);
+ tb->reserved_pages = kzalloc(max_sg * sizeof(struct page *),
+ GFP_ATOMIC);
if (!tb->reserved_pages) {
kfree(tb);
return NULL;
@@ -4059,7 +4050,7 @@ static int st_probe(struct device *dev)
SDp->request_queue->max_phys_segments);
if (st_max_sg_segs < i)
i = st_max_sg_segs;
- buffer = new_tape_buffer(1, (SDp->host)->unchecked_isa_dma, i);
+ buffer = new_tape_buffer((SDp->host)->unchecked_isa_dma, i);
if (buffer == NULL) {
printk(KERN_ERR
"st: Can't allocate new tape buffer. Device not attached.\n");