qla2x00_next(ha); 
qla2100_intr_handler(int irq, void *dev_id, struct pt_regs *regs){	scsi_qla_host_t	*ha;	device_reg_t __iomem *reg;	int		status;	unsigned long	flags;	unsigned long	iter;	uint32_t	mbx;	ha = (scsi_qla_host_t *) dev_id;	if (!ha) {		printk(KERN_INFO		    "%s(): NULL host pointer\n", __func__);		return (IRQ_NONE);	}	reg = ha->iobase;	status = 0;	spin_lock_irqsave(&ha->hardware_lock, flags);	for (iter = 50; iter--; ) {		if ((RD_REG_WORD(&reg->istatus) & ISR_RISC_INT) == 0)			break;		if (RD_REG_WORD(&reg->semaphore) & BIT_0) {			WRT_REG_WORD(&reg->hccr, HCCR_CLR_RISC_INT);			RD_REG_WORD(&reg->hccr);			/* Get mailbox data. */			mbx = RD_MAILBOX_REG(ha, reg, 0);			if (mbx > 0x3fff && mbx < 0x8000) {				qla2x00_mbx_completion(ha, (uint16_t)mbx);				status |= MBX_INTERRUPT;			} else if (mbx > 0x7fff && mbx < 0xc000) {				qla2x00_async_event(ha, mbx);			} else {				/*EMPTY*/				DEBUG2(printk("scsi(%ld): Unrecognized "				    "interrupt type (%d)\n",				    ha->host_no, mbx));			}			/* Release mailbox registers. */			WRT_REG_WORD(&reg->semaphore, 0);			RD_REG_WORD(&reg->semaphore);		} else {			qla2x00_process_response_queue(ha);			WRT_REG_WORD(&reg->hccr, HCCR_CLR_RISC_INT);			RD_REG_WORD(&reg->hccr);		}	}	spin_unlock_irqrestore(&ha->hardware_lock, flags);	qla2x00_next(ha);	ha->last_irq_cpu = _smp_processor_id();	ha->total_isr_cnt++;	if (test_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags) &&	    (status & MBX_INTERRUPT) && ha->flags.mbox_int) {		spin_lock_irqsave(&ha->mbx_reg_lock, flags);		set_bit(MBX_INTERRUPT, &ha->mbx_cmd_flags);		up(&ha->mbx_intr_sem);		spin_unlock_irqrestore(&ha->mbx_reg_lock, flags);	}	if (!list_empty(&ha->done_queue))		qla2x00_done(ha);	return (IRQ_HANDLED);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/f4f051ebb40e74ad0ba02d2cb3a6c16b0393472b/qla_isr.c/clean/drivers/scsi/qla2xxx/qla_isr.c