 c->cmdindex = i; 
static CommandList_struct * cmd_alloc(ctlr_info_t *h, int get_from_pool){	CommandList_struct *c;	int i; 	u64bit temp64;	dma_addr_t cmd_dma_handle, err_dma_handle;	if (!get_from_pool)	{		c = (CommandList_struct *) pci_alloc_consistent(			h->pdev, sizeof(CommandList_struct), &cmd_dma_handle);         	if(c==NULL)                 	return NULL;		memset(c, 0, sizeof(CommandList_struct));		c->err_info = (ErrorInfo_struct *)pci_alloc_consistent(					h->pdev, sizeof(ErrorInfo_struct), 					&err_dma_handle);			if (c->err_info == NULL)		{			pci_free_consistent(h->pdev, 				sizeof(CommandList_struct), c, cmd_dma_handle);			return NULL;		}		memset(c->err_info, 0, sizeof(ErrorInfo_struct));	} else /* get it out of the controllers pool */ 	{	     	do {                	i = find_first_zero_bit(h->cmd_pool_bits, NR_CMDS);                        if (i == NR_CMDS)                                return NULL;                } while(test_and_set_bit(i & (BITS_PER_LONG - 1), h->cmd_pool_bits+(i/BITS_PER_LONG)) != 0);#ifdef CCISS_DEBUG		printk(KERN_DEBUG "cciss: using command buffer %d\n", i);#endif                c = h->cmd_pool + i;		memset(c, 0, sizeof(CommandList_struct));		cmd_dma_handle = h->cmd_pool_dhandle 					+ i*sizeof(CommandList_struct);		c->err_info = h->errinfo_pool + i;		memset(c->err_info, 0, sizeof(ErrorInfo_struct));		err_dma_handle = h->errinfo_pool_dhandle 					+ i*sizeof(ErrorInfo_struct);                h->nr_allocs++;        }	c->busaddr = (__u32) cmd_dma_handle;	temp64.val = (__u64) err_dma_handle;		c->ErrDesc.Addr.lower = temp64.val32.lower;	c->ErrDesc.Addr.upper = temp64.val32.upper;	c->ErrDesc.Len = sizeof(ErrorInfo_struct);		c->ctlr = h->ctlr;        return c;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/33079b21978f478865068ee6a3c5807b6c6ecdbe/cciss.c/buggy/drivers/block/cciss.c