scmd->state                   	= SCSI_STATE_INITIALIZING; 
scsi_reset_provider(struct scsi_device *dev, int flag){	struct scsi_cmnd *scmd = scsi_get_command(dev, GFP_KERNEL);	struct request req;	int rtn;	scmd->request = &req;	memset(&scmd->eh_timeout, 0, sizeof(scmd->eh_timeout));	scmd->request->rq_status      	= RQ_SCSI_BUSY;	scmd->state                   	= SCSI_STATE_INITIALIZING;	memset(&scmd->cmnd, '\0', sizeof(scmd->cmnd));    	scmd->scsi_done		= scsi_reset_provider_done_command;	scmd->done			= NULL;	scmd->buffer			= NULL;	scmd->bufflen			= 0;	scmd->request_buffer		= NULL;	scmd->request_bufflen		= 0;	scmd->cmd_len			= 0;	scmd->sc_data_direction		= DMA_BIDIRECTIONAL;	scmd->sc_request		= NULL;	scmd->sc_magic			= SCSI_CMND_MAGIC;	init_timer(&scmd->eh_timeout);	/*	 * Sometimes the command can get back into the timer chain,	 * so use the pid as an identifier.	 */	scmd->pid			= 0;	switch (flag) {	case SCSI_TRY_RESET_DEVICE:		rtn = scsi_try_bus_device_reset(scmd);		if (rtn == SUCCESS)			break;		/* FALLTHROUGH */	case SCSI_TRY_RESET_BUS:		rtn = scsi_try_bus_reset(scmd);		if (rtn == SUCCESS)			break;		/* FALLTHROUGH */	case SCSI_TRY_RESET_HOST:		rtn = scsi_try_host_reset(scmd);		break;	default:		rtn = FAILED;	}	scsi_next_command(scmd);	return rtn;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/8d115f845a0bd59cd263e791f739964f42b7b0e8/scsi_error.c/clean/drivers/scsi/scsi_error.c