kfree(acb->srb_array[i].segment_x);  vfree(acb->srb_array[0].virt_map); 
if (acb->srb_array[i].segment_x) kfree(acb->srb_array[i].segment_x); 
static void adapter_sg_tables_free(struct AdapterCtlBlk *acb){	int i;	const unsigned srbs_per_page = PAGE_SIZE/SEGMENTX_LEN;	for (i = 0; i < DC395x_MAX_SRB_CNT; i += srbs_per_page)		kfree(acb->srb_array[i].segment_x);	vfree(acb->srb_array[0].virt_map);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b4b08e581fac8e0ba9ae348bdc13246c9798c99e/dc395x.c/buggy/drivers/scsi/dc395x.c