/* Display which one we're actually resetting for debug. */ DEBUG(printk("qla2xxx_eh_host_reset:Resetting scsi(%ld).\n", ha->host_no)); 
ret = FAILED; 
qla2xxx_eh_host_reset(struct scsi_cmnd *cmd){	scsi_qla_host_t *ha = (scsi_qla_host_t *)cmd->device->host->hostdata;	int		rval = SUCCESS;	/* Display which one we're actually resetting for debug. */	DEBUG(printk("qla2xxx_eh_host_reset:Resetting scsi(%ld).\n",	    ha->host_no));	/*	 *  Now issue reset.	 */	qla_printk(KERN_INFO, ha,	    "scsi(%ld:%d:%d:%d): ADAPTER RESET issued.\n", ha->host_no,	    cmd->device->channel, cmd->device->id, cmd->device->lun);	spin_unlock_irq(ha->host->host_lock);	if (qla2x00_wait_for_hba_online(ha) != QLA_SUCCESS)		goto board_disabled;	/*	 * Fixme-may be dpc thread is active and processing	 * loop_resync,so wait a while for it to 	 * be completed and then issue big hammer.Otherwise	 * it may cause I/O failure as big hammer marks the	 * devices as lost kicking of the port_down_timer	 * while dpc is stuck for the mailbox to complete.	 */	/* Blocking call-Does context switching if loop is Not Ready */	qla2x00_wait_for_loop_ready(ha);	set_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags);	if (qla2x00_abort_isp(ha)) {		clear_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags);		/* failed. schedule dpc to try */		set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags);		if (qla2x00_wait_for_hba_online(ha) != QLA_SUCCESS)			goto board_disabled;	} 	clear_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags);	spin_lock_irq(ha->host->host_lock);	if (rval == FAILED)		goto out;	/* Waiting for our command in done_queue to be returned to OS.*/	if (!qla2x00_eh_wait_for_pending_commands(ha))		rval = FAILED; out:	qla_printk(KERN_INFO, ha, "%s: reset %s\n", __func__,			(rval == FAILED) ? "failed" : "succeded");	return rval; board_disabled:	spin_lock_irq(ha->host->host_lock);	qla_printk(KERN_INFO, ha, "%s: failed:board disabled\n", __func__);	return FAILED;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/f4f051ebb40e74ad0ba02d2cb3a6c16b0393472b/qla_os.c/clean/drivers/scsi/qla2xxx/qla_os.c