SCpnt->result = DID_NO_CONNECT << 16; done (SCpnt); return(0); 
goto done; 
static int sbp2scsi_queuecommand(struct scsi_cmnd *SCpnt,				 void (*done)(struct scsi_cmnd *)){	struct scsi_id_instance_data *scsi_id =		(struct scsi_id_instance_data *)SCpnt->device->host->hostdata[0];	struct sbp2scsi_host_info *hi;	SBP2_DEBUG("sbp2scsi_queuecommand");	/*	 * If scsi_id is null, it means there is no device in this slot,	 * so we should return selection timeout.	 */	if (!scsi_id) {		SCpnt->result = DID_NO_CONNECT << 16;		done (SCpnt);		return 0;	}	hi = scsi_id->hi;	if (!hi) {		SBP2_ERR("sbp2scsi_host_info is NULL - this is bad!");		SCpnt->result = DID_NO_CONNECT << 16;		done (SCpnt);		return(0);	}	/*	 * Until we handle multiple luns, just return selection time-out	 * to any IO directed at non-zero LUNs	 */	if (SCpnt->device->lun) {		SCpnt->result = DID_NO_CONNECT << 16;		done (SCpnt);		return(0);	}	/*	 * Check for request sense command, and handle it here	 * (autorequest sense)	 */	if (SCpnt->cmnd[0] == REQUEST_SENSE) {		SBP2_DEBUG("REQUEST_SENSE");		memcpy(SCpnt->request_buffer, SCpnt->sense_buffer, SCpnt->request_bufflen);		memset(SCpnt->sense_buffer, 0, sizeof(SCpnt->sense_buffer));		sbp2scsi_complete_command(scsi_id, SBP2_SCSI_STATUS_GOOD, SCpnt, done);		return(0);	}	/*	 * Check to see if we are in the middle of a bus reset.	 */	if (!hpsb_node_entry_valid(scsi_id->ne)) {		SBP2_ERR("Bus reset in progress - rejecting command");		SCpnt->result = DID_BUS_BUSY << 16;		done (SCpnt);		return(0);	}	/*	 * Try and send our SCSI command	 */	if (sbp2_send_command(scsi_id, SCpnt, done)) {		SBP2_ERR("Error sending SCSI command");		sbp2scsi_complete_command(scsi_id, SBP2_SCSI_STATUS_SELECTION_TIMEOUT,					  SCpnt, done);	}	return(0);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/abd559b1052e28d8b9c28aabde241f18fa89090b/sbp2.c/clean/drivers/ieee1394/sbp2.c