lp->cb_tags = kcalloc(SYM_CONF_MAX_TASK, 1, GFP_KERNEL); 
lp->cb_tags = kcalloc(SYM_CONF_MAX_TASK, 1, GFP_ATOMIC); 
static void sym_alloc_lcb_tags (struct sym_hcb *np, u_char tn, u_char ln){	struct sym_tcb *tp = &np->target[tn];	struct sym_lcb *lp = sym_lp(tp, ln);	int i;	/*	 *  If LCB not available, try to allocate it.	 */	if (!lp && !(lp = sym_alloc_lcb(np, tn, ln)))		goto fail;	/*	 *  Allocate the task table and and the tag allocation 	 *  circular buffer. We want both or none.	 */	lp->itlq_tbl = sym_calloc_dma(SYM_CONF_MAX_TASK*4, "ITLQ_TBL");	if (!lp->itlq_tbl)		goto fail;	lp->cb_tags = kcalloc(SYM_CONF_MAX_TASK, 1, GFP_KERNEL);	if (!lp->cb_tags) {		sym_mfree_dma(lp->itlq_tbl, SYM_CONF_MAX_TASK*4, "ITLQ_TBL");		lp->itlq_tbl = NULL;		goto fail;	}	/*	 *  Initialize the task table with invalid entries.	 */	for (i = 0 ; i < SYM_CONF_MAX_TASK ; i++)		lp->itlq_tbl[i] = cpu_to_scr(np->notask_ba);	/*	 *  Fill up the tag buffer with tag numbers.	 */	for (i = 0 ; i < SYM_CONF_MAX_TASK ; i++)		lp->cb_tags[i] = i;	/*	 *  Make the task table available to SCRIPTS, 	 *  And accept tagged commands now.	 */	lp->head.itlq_tbl_sa = cpu_to_scr(vtobus(lp->itlq_tbl));	return;fail:	return;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/53222b906903fd861dc24ebccfa07ee125941313/sym_hipd.c/clean/drivers/scsi/sym53c8xx_2/sym_hipd.c