if (smi_info->stop_operation) 
if (atomic_read(&smi_info->stop_operation)) 
static irqreturn_t si_irq_handler(int irq, void *data, struct pt_regs *regs){	struct smi_info *smi_info = data;	unsigned long   flags;#ifdef DEBUG_TIMING	struct timeval  t;#endif	spin_lock_irqsave(&(smi_info->si_lock), flags);	spin_lock(&smi_info->count_lock);	smi_info->interrupts++;	spin_unlock(&smi_info->count_lock);	if (smi_info->stop_operation)		goto out;#ifdef DEBUG_TIMING	do_gettimeofday(&t);	printk("**Interrupt: %d.%9.9d\n", t.tv_sec, t.tv_usec);#endif	smi_event_handler(smi_info, 0); out:	spin_unlock_irqrestore(&(smi_info->si_lock), flags);	return IRQ_HANDLED;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/a9a2c44ff0a1350f8bfe3a162ecf71b1c9ce5cc2/ipmi_si_intf.c/buggy/drivers/char/ipmi/ipmi_si_intf.c