int i, priority, got = 0, segs = 0; 
int i, got = 0, segs = 0; gfp_t priority; 
 new_tape_buffer(int from_initialization, int need_dma, int max_sg){	int i, priority, got = 0, segs = 0;	struct st_buffer *tb;	if (from_initialization)		priority = GFP_ATOMIC;	else		priority = GFP_KERNEL;	i = sizeof(struct st_buffer) + (max_sg - 1) * sizeof(struct scatterlist) +		max_sg * sizeof(struct st_buf_fragment);	tb = kmalloc(i, priority);	if (!tb) {		printk(KERN_NOTICE "st: Can't allocate new tape buffer.\n");		return NULL;	}	memset(tb, 0, i);	tb->frp_segs = tb->orig_frp_segs = segs;	tb->use_sg = max_sg;	if (segs > 0)		tb->b_data = page_address(tb->sg[0].page);	tb->frp = (struct st_buf_fragment *)(&(tb->sg[0]) + max_sg);	tb->in_use = 1;	tb->dma = need_dma;	tb->buffer_size = got;	return tb;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/c53033f6b0bd7cc133b7f433083f0394cf29ac70/st.c/clean/drivers/scsi/st.c