add_to_done_queue(ha, sp); 
qla2x00_sp_compl(ha, sp); 
qla2x00_process_completed_request(struct scsi_qla_host *ha, uint32_t index){	srb_t *sp;	/* Validate handle. */	if (index >= MAX_OUTSTANDING_COMMANDS) {		DEBUG2(printk("scsi(%ld): Invalid SCSI completion handle %d.\n",		    ha->host_no, index));		qla_printk(KERN_WARNING, ha,		    "Invalid SCSI completion handle %d.\n", index);		set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags);		return;	}	sp = ha->outstanding_cmds[index];	if (sp) {		/* Free outstanding command slot. */		ha->outstanding_cmds[index] = NULL;		if (ha->actthreads)			ha->actthreads--;		sp->lun_queue->out_cnt--;		CMD_COMPL_STATUS(sp->cmd) = 0L;		CMD_SCSI_STATUS(sp->cmd) = 0L;		/* Save ISP completion status */		sp->cmd->result = DID_OK << 16;		sp->fo_retry_cnt = 0;		add_to_done_queue(ha, sp);	} else {		DEBUG2(printk("scsi(%ld): Invalid ISP SCSI completion handle\n",		    ha->host_no));		qla_printk(KERN_WARNING, ha,		    "Invalid ISP SCSI completion handle\n");		set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags);	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/f4f051ebb40e74ad0ba02d2cb3a6c16b0393472b/qla_isr.c/buggy/drivers/scsi/qla2xxx/qla_isr.c