 unmap_sg_list(num_mapped, dev, evt_struct->ext_list); 
static void unmap_cmd_data(struct srp_cmd *cmd, struct device *dev){	int i;	if ((cmd->data_out_format == SRP_NO_BUFFER) &&	    (cmd->data_in_format == SRP_NO_BUFFER))		return;	else if ((cmd->data_out_format == SRP_DIRECT_BUFFER) ||		 (cmd->data_in_format == SRP_DIRECT_BUFFER)) {		struct memory_descriptor *data =			(struct memory_descriptor *)cmd->additional_data;		dma_unmap_single(dev, data->virtual_address, data->length,				 DMA_BIDIRECTIONAL);	} else {		struct indirect_descriptor *indirect =			(struct indirect_descriptor *)cmd->additional_data;		int num_mapped = indirect->head.length / 			sizeof(indirect->list[0]);		for (i = 0; i < num_mapped; ++i) {			struct memory_descriptor *data = &indirect->list[i];			dma_unmap_single(dev,					 data->virtual_address,					 data->length, DMA_BIDIRECTIONAL);		}	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/4dddbc26c3895ecdab1f4b16435685b47f96f599/ibmvscsi.c/clean/drivers/scsi/ibmvscsi/ibmvscsi.c